A. 加拿大pc算法教程
1.三级流水线:其实对于PC = PC +8这个问题很简单,这两个PC其实代表着不同的意义,第一个PC是对于CPU而言,而第二个PC而言是我们通过编译器看到的PC(PC指向程序正在运行的那一条指令),但是对于CPU的PC是永远指向取指那个步,故PC = PC +8。
2.五级流水线; ARM9流水线包括取指(fetch)、译码(decode)、执行(excute)、缓冲/数据(buffer/data)、回写(write-back)寄存器堆。ARM9流水线在译码阶段已经开始读取操作数寄存器,因此译码阶段的PC值和取指阶段的PC值关系为:PC(decode)=PC(fetch)+4。因此执行阶段的PC值和译码阶段的PC值关系为:PC(excute)=PC(decode)+4。
3.对于软中断函数的返回时的PC:如下
ARM Thumb
SWI PC-8 PC-4
xxx 》 PC -4 PC-2 (异常返回将执行这条指令)
yyy PC PC
因此返回指令为: MOV PC , LR
原因:异常是由指令本身引起的,因此内核在计算LR时的PC值并没有被更新。对于ARM状态,因为SWI指令表示将跳到异常处理函数,此时SWI这条指令的PC = PC -8,当进入异常处理函数之前,硬件会自动把PC-4保存到LR寄存器中,所以异常处理函数结束后直接MOV PC, LR就行,就会跳到xxx这一条指令去执行。对于Thumb状态同理。
4.对于IRQ和FIQ中断函数返回时的PC:
ARM Thumb
xxx PC-12 PC-6 (程序在运行这条代码时就产生了中断信号)
yyy 》 PC-8 PC-4 (异常返回将执行这条指令)
zzz PC-4 PC-2
www PC PC
返回指令为: SUBS PC, LR, #4
原因:异常在当前指令执行完成后才会被响应,因此内核在计算LR时的PC值已被更新。对于ARM状态,程序在执行xxx这条指令时,中断信号产生,但是由于中断必须在这一条指令执行完之后才会被响应,执行完后,则此时对于CPU的PC已经指向了www这条指令的取指,在中断函数函数时应该执行yyy这条指令,虽然硬件会把PC-4的值赋值给LR寄存器,但是这是指向zzz这条指令的,所以返回时应该SUBS PC, LR, #4。对于Thumb状态同理。
B. 加拿大研究生申请要求的本科成绩、绩点是按照什么计算的加拿大4.3绩点计算法是不是很bug啊
GPA如何换算
GPA的计算一般是将每门课程的成绩乘以学时,加起来以后除以总的学时,得出平均分。中国学校的分数设置一般是百分制或五分制,具体的折合方式视不同的加拿大大学的要求而有所不同,一般来讲,百分制中的90分以上可视为4分,80分以上为3分,70分以上为2分,60分以上为1分,五分制中的5分为4分,4分为3分,3分为2分,2分为1分。中国许多大学的成绩单上没有学时,因此,GPA只能估算,可将所有课程的成绩加起来后除以课程数。
百分制分数,字母分数和GPA成绩点数之间的大概关系如下:
百分制分数 字母分数 成绩点数
90-100 A 4
80-89 B 3
70-79 C 2
60-69 D 1
60以下 E 0
GPA算法举例
是将大学成绩的加权平均数乘以4,再除以100。比较常见的方法还有把各科成绩按等级乘以学求和再以总学分除之。
例如某学生的五门课程的学分和成绩为:
A课程四个学分,成绩92(A);
B课程三个学分,成绩80(B);
C课程两个学分,成绩98(A);
D课程六个学分,成绩70(C);
E课程三个学分,成绩89(B)。
以上五项成绩GPA为:
四分制算法GPA=(4*4+3*3+2*4+6*2+3*3)/(4+3+2+6+3)=3.00
标准算法GPA=[(92*4+80*3+98*2+70*6+89*3)*4]/[(4+3+2+6+3)*100]=3.31
在具体运用中,加拿大大学经常采用总平均绩点与最后两年平均绩点。总平均绩点(Overall GPA)是将全部所修学科按上述方法计算出来的点数,最后两年平均绩点(GPA for the last two years)即将最后两年所修各科按上述方法计算出来的点数。
在加拿大,90%的学校GPA计算方法是采取4分制(4.00 scale)的,仅有1%的学校会采取5分制,即A等成绩为5,B等为4,C等为3,D等为2,F等为1,这些学校的最低入学标准也就相应的提高了。
中国许多大学的成绩单上没有学时,GPA只能估算,可将所有课程的成绩加起来除以课程数,一般加拿大大学对于奖学金申请者的GPA要求是3.0以上,名校在3.8以上。
C. 加拿大28卡红公式方法
2x-iy+6=0。2x-iy+6=0的法&n,,bsp;向量为3*6设所求中奖号的。法向量为ABC因为三个最高点数(和值18)、最小点数(和值3),所以三个sai子和值的交集(3到18)即3,*,18)(a,b,c)=2a-b+6c=和值所槐族以所求和&,nbsp;值数法向量为a,2a+6c,c由方程3x+4y+2z+6=0和铅尘弊x+3iy+z-2=0确立的走势图x=t;iy=0.5t+5;z=-2.5t-13得出其中一个。点数为(3或者4),(5或者2),(点数可以重的,所以要根据上期和兄核值寻找变量)所以如由(3,6,6)和法线得出所求晒面的方程为ax+(2a+6c)(iy-5)+c(z+13)=0代入(-6,2,2),得-6a+3(2a+6c)+15c=0
D. 谁帮我介绍下加密对称算法
A.对称加密技术 a. 描述 对称算法(symmetric algorithm),有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。 b.特点分析 对称加密的优点在于算法实现后的效率高、速度快。 对称加密的缺点在于密钥的管理过于复杂。如果任何一对发送方和接收方都有他们各自商议的密钥的话,那么很明显,假设有N个用户进行对称加密通信,如果按照上述方法,则他们要产生N(N-1)把密钥,每一个用户要记住或保留N-1把密钥,当N很大时,记住是不可能的,而保留起来又会引起密钥泄漏可能性的增加。常用的对称加密算法有DES,DEA等。 B.非对称加密技术 a.描述 非对称加密(dissymmetrical encryption),有时又叫公开密钥算法(public key algorithm)。这种加密算法是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以又叫做公开密钥算法是由于加密密钥可以公开,即陌生人可以得到它并用来加密信息,但只有用相应的解密密钥才能解密信息。在这种加密算法中,加密密钥被叫做公开密钥(public key),而解密密钥被叫做私有密钥(private key)。 b.特点分析 非对称加密的缺点在于算法实现后的效率低、速度慢。 非对称加密的优点在于用户不必记忆大量的提前商定好的密钥,因为发送方和接收方事先根本不必商定密钥,发放方只要可以得到可靠的接收方的公开密钥就可以给他发送信息了,而且即使双方根本互不相识。但为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制,这种公开密钥管理机制还要解决其他一些公开密钥所带来的问题。常用的非对称加密算法有RSA等。 (3) 关于密码技术 密码技术包括加密技术和密码分析技术,也即加密和解密技术两个方面。在一个新的加密算法的研发需要有相应的数学理论证明,证明这个算法的安全性有多高,同时还要从密码分析的角度对这个算法进行安全证明,说明这个算法对于所知的分析方法来说是有防范作用的。 三、对称加密算法分析 对称加密算法的分类 对称加密算法可以分成两类:一类为序列算法(stream algorithm):一次只对明文中单个位(有时为字节)加密或解密运算。另一类为分组算法(block algorithm):一次明文的一组固定长度的字节加密或解密运算。 现代计算机密码算法一般采用的都是分组算法,而且一般分组的长度为64位,之所以如此是由于这个长度大到足以防止分析破译,但又小到足以方便使用。 1.DES加密算法 (Data Encryption Standard )
(1) 算法简介
1973 年 5 月 15 日,美国国家标准局 (NBS) 在“联邦注册”上发布了一条通知,征求密码算法,用于在传输和存储期间保护数据。IBM 提交了一个候选算法,它是 IBM 内部开发的,名为 LUCIFER。在美国国家安全局 (NSA) 的“指导”下完成了算法评估之后,在 1977 年 7 月 15 日,NBS 采纳了 LUCIFER 算法的修正版作为新的数据加密标准。
原先规定使用10年,但由于新的加密标准还没有完成,所以DES算法及其的变形算法一直广泛的应用于信息加密方面。 (2) 算法描述 (包括加密和解密)
Feistel结构(画图说明)。
DES 的工作方式:可怕的细节
DES 将消息分成 64 位(即 16 个十六进制数)一组进行加密。DES 使用“密钥”进行加密,从符号的角度来看,“密钥”的长度是 16 个十六进制数(或 64 位)。但是,由于某些原因(可能是因为 NSA 给 NBS 的“指引”),DES 算法中每逢第 8 位就被忽略。这造成密钥的实际大小变成 56 位。编码系统对“强行”或“野蛮”攻击的抵抗力与其密钥空间或者系统可能有多少密钥有直接关系。使用的位数越多转换出的密钥也越多。密钥越多,就意味着强行攻击中计算密钥空间中可能的密钥范围所需的时间就越长。从总长度中切除 8 位就会在很大程度上限制了密钥空间,这样系统就更容易受到破坏。
DES 是块加密算法。这表示它处理特定大小的纯文本块(通常是 64 位),然后返回相同大小的密码块。这样,64 位(每位不是 0 就是 1)有 264 种可能排列,DES 将生成其中的一种排列。每个 64 位的块都被分成 L、R 左右两块,每块 32 位。
DES 算法使用以下步骤:
1. 创建 16 个子密钥,每个长度是 48 位。根据指定的顺序或“表”置换 64 位的密钥。如果表中的第一项是 "27",这表示原始密钥 K 中的第 27 位将变成置换后的密钥 K+ 的第一位。如果表的第二项是 36,则这表示原始密钥中的第 36 位将变成置换后密钥的第二位,以此类推。这是一个线性替换方法,它创建了一种线性排列。置换后的密钥中只出现了原始密钥中的 56 位。
2. 接着,将这个密钥分成左右两半,C0 和 D0,每一半 28 位。定义了 C0 和 D0 之后,创建 16 个 Cn 和 Dn 块,其中 1<=n<=16。每一对 Cn 和 Dn 块都通过使用标识“左移位”的表分别从前一对 Cn-1 和 Dn-1 形成,n = 1, 2, ..., 16,而“左移位”表说明了要对哪一位进行操作。在所有情况下,单一左移位表示这些位轮流向左移动一个位置。在一次左移位之后,28 个位置中的这些位分别是以前的第 2、3……28 位。
通过将另一个置换表应用于每一个 CnDn 连接对,从而形成密钥 Kn,1<=n<=16。每一对有 56 位,而置换表只使用其中的 48 位,因为每逢第 8 位都将被忽略。
3. 编码每个 64 位的数据块。
64 位的消息数据 M 有一个初始置换 IP。这将根据置换表重新排列这些位,置换表中的项按这些位的初始顺序描述了它们新的排列。我们以前见过这种线性表结构。
使用函数 f 来生成一个 32 位的块,函数 f 对两个块进行操作,一个是 32 位的数据块,一个是 48 位的密钥 Kn,连续迭代 16 次,其中 1<=n<=16。用 + 表示 XOR 加法(逐位相加,模除 2)。然后,n 从 1 到 16,计算 Ln = Rn-1 Rn = Ln-1 + f(Rn-1,Kn)。即在每次迭代中,我们用前一结果的右边 32 位,并使它们成为当前步骤中的左边 32 位。对于当前步骤中的右边 32 位,我们用算法 f XOR 前一步骤中的左边 32 位。
要计算 f,首先将每一块 Rn-1 从 32 位扩展到 48 位。可以使用选择表来重复 Rn-1 中的一些位来完成这一操作。这个选择表的使用就成了函数 f。因此 f(Rn-1) 的输入块是 32 位,输出块是 48 位。f 的输出是 48 位,写成 8 块,每块 6 位,这是通过根据已知表按顺序选择输入中的位来实现的。
我们已经使用选择表将 Rn-1 从 32 位扩展成 48 位,并将结果 XOR 密钥 Kn。现在有 48 位,或者是 8 组,每组 6 位。每组中的 6 位现在将经历一次变换,该变换是算法的核心部分:在叫做“S 盒”的表中,我们将这些位当作地址使用。每组 6 位在不同的 S 盒中表示不同的地址。该地址中是一个 4 位数字,它将替换原来的 6 位。最终结果是 8 组,每组 6 位变换成 8 组,每组 4 位(S 盒的 4 位输出),总共 32 位。
f 计算的最后阶段是对 S 盒输出执行置换 P,以得到 f 的最终值。f 的形式是 f = P(S1(B1)S2(B2)...S8(B8))。置换 P 根据 32 位输入,在以上的过程中通过置换输入块中的位,生成 32 位输出。
解密只是加密的逆过程,使用以上相同的步骤,但要逆转应用子密钥的顺序。DES 算法是可逆的
(2) 算法的安全性分析
在知道一些明文和密文分组的条件下,从理论上讲很容易知道对DES进行一次穷举攻击的复杂程度:密钥的长度是56位,所以会有 种的可能的密钥。
在1993年的一年一度的世界密码大会上,加拿大北方电信公司贝尔实验室的 Michael Wiener 描述了如何构造一台专用的机器破译DES,该机器利用一种每秒能搜索5000万个密钥的专用芯片。而且此机器的扩展性很好,投入的经费越多则效率越高。用100万美元构造的机器平均3.5小时就可以破译密码。
如果不用专用的机器,破译DES也有其他的方法。在1994年的世界密码大会上,M.Matsui 提出一种攻克DES的新方法--"线性密码分析"法。它可使用平均 个明文及其密文,在12台HP9000/735工作站上用此方法的软件实现,花费50天时间完成对DES的攻击。
如前所述DES作为加密算法的标准已经二十多年了,可以说是一个很老的算法,而在新的加密算法的国际标准出现之前,许多DES的加固性改进算法仍有实用价值,在本文的3.4节详细的描述,同时考虑的以上所述DES的安全性已受到了威胁。
(4) 算法的变体 三重DES(TDEA),使用3个密钥,执行3次DES算法:
加密:C = Ek3[Dk2[Ek1[P]]] 解密:P = Dk1[Ek2[Dk3[C]]]
特点:安全性得到增强,但是速度变慢。
2.AES
自 20 世纪 70 年代以来一直广泛使用的“数据加密标准”(DES) 日益显出衰老的痕迹,而一种新的算法 -- Rijndael -- 正顺利地逐渐变成新标准。这里,Larry Loeb 详细说明了每一种算法,并提供了关于为什么会发生这种变化的内幕信息。
DES 算法是全世界最广泛使用的加密算法。最近,就在 2000 年 10 月,它在其初期就取得的硬件方面的优势已经阻碍了其发展,作为政府加密技术的基础,它已由“高级加密标准”(AES) 中包含的另一种加密算法代替了。AES 是指定的标准密码系统,未来将由政府和银行业用户使用。AES 用来实际编码数据的加密算法与以前的 DES 标准不同。我们将讨论这是如何发生的,以及 AES 中的 Rijndael 算法是如何取代 DES 的算法的。
“高级加密标准”成就
但直到 1997 年,美国国家标准技术局 (NIST) 才开始打着 AES 项目的旗帜征集其接任者。1997 年 4 月的一个 AES 研讨会宣布了以下 AES 成就的最初目标:
• 可供政府和商业使用的功能强大的加密算法
• 支持标准密码本方式
• 要明显比 DES 3 有效
• 密钥大小可变,这样就可在必要时增加安全性
• 以公正和公开的方式进行选择
• 可以公开定义
• 可以公开评估
AES 的草案中最低可接受要求和评估标准是:
A.1 AES 应该可以公开定义。
A.2 AES 应该是对称的块密码。
A.3 AES 应该设计成密钥长度可以根据需要增加。
A.4 AES 应该可以在硬件和软件中实现。
A.5 AES 应该 a) 可免费获得。
A.6 将根据以下要素评价符合上述要求的算法:
1. 安全性(密码分析所需的努力)
2. 计算效率
3. 内存需求
4. 硬件和软件可适用性
5. 简易性
6. 灵活性
7. 许可证需求(见上面的 A5)
Rijndael:AES 算法获胜者
1998年8月20日NIST召开了第一次AES侯选会议,并公布了15个AES侯选算法。经过一年的考察,MARS,RC6,Rijndael,Serpent,Twofish共5种算法通过了第二轮的选拔。2000 年 10 月,NIST 选择 Rijndael(发音为 "Rhine dale")作为 AES 算法。它目前还不会代替 DES 3 成为政府日常加密的方法,因为它还须通过测试过程,“使用者”将在该测试过程后发表他们的看法。但相信它可以顺利过关。
Rijndael 是带有可变块长和可变密钥长度的迭代块密码。块长和密钥长度可以分别指定成 128、192 或 256 位。
Rijndael 中的某些操作是在字节级上定义的,字节表示有限字段 GF(28) 中的元素,一个字节中有 8 位。其它操作都根据 4 字节字定义。
加法照例对应于字节级的简单逐位 EXOR。
在多项式表示中,GF(28) 的乘法对应于多项式乘法模除阶数为 8 的不可约分二进制多项式。(如果一个多项式除了 1 和它本身之外没有其它约数,则称它为不可约分的。)对于 Rijndael,这个多项式叫做 m(x),其中:m(x) = (x8 + x4 + x3 + x + 1) 或者十六进制表示为 '11B'。其结果是一个阶数低于 8 的二进制多项式。不像加法,它没有字节级的简单操作。
不使用 Feistel 结构!
在大多数加密算法中,轮回变换都使用着名的 Feistel 结构。在这个结构中,中间 State 的位部分通常不做更改调换到另一个位置。(这种线性结构的示例是我们在 DES 部分中讨论的那些表,即使用固定表的形式交换位。)Rijndael 的轮回变换不使用这个古老的 Feistel 结构。轮回变换由三个不同的可逆一致变换组成,叫做层。(“一致”在这里表示以类似方法处理 State 中的位。)
线性混合层保证了在多个轮回后的高度扩散。非线性层使用 S 盒的并行应用,该应用程序有期望的(因此是最佳的)最差非线性特性。S 盒是非线性的。依我看来,这就 DES 和 Rijndael 之间的密钥概念差异。密钥加法层是对中间 State 的轮回密钥 (Round Key) 的简单 EXOR,如以下所注。
Rijndael算法
加密算法
Rijndael算法是一个由可变数据块长和可变密钥长的迭代分组加密算法,数据块长和密钥长可分别为128,192或256比特。
数据块要经过多次数据变换操作,每一次变换操作产生一个中间结果,这个中间结果叫做状态。状态可表示为二维字节数组,它有4行,Nb列,且Nb等于数据块长除32。如表2-3所示。
a0,0 a0,1 a0,2 a0,3 a0,4 a0,5
a1,0 a1,1 a1,2 a1,3 a1,4 a1,5
a2,0 a2,1 a2,2 a2,3 a2,4 a2,5
a3,0 a3,1 a3,2 a3,3 a3,4 a3,5
数据块按a0,0 , a1,0 , a2,0 , a3,0 , a0,1 , a1,1 , a2,1 , a3,1 , a0,2…的顺序映射为状态中的字节。在加密操作结束时,密文按同样的顺序从状态中抽取。
密钥也可类似地表示为二维字节数组,它有4行,Nk列,且Nk等于密钥块长除32。算法变换的圈数Nr由Nb和Nk共同决定,具体值列在表2-4中。
表3-2 Nb和Nk决定的Nr的值
Nr Nb = 4 Nb = 6 Nb = 8
Nk = 4 10 12 14
Nk = 6 12 12 14
Nk = 8 14 14 14
3.2.1圈变换
加密算法的圈变换由4个不同的变换组成,定义成:
Round(State,RoundKey)
{
ByteSub(State);
ShiftRow(State);
MixColumn(State);
AddRoundKey(State,RoundKey); (EXORing a Round Key to the State)
}
加密算法的最后一圈变换与上面的略有不同,定义如下:
FinalRound(State,RoundKey)
{
ByteSub(State);
ShiftRow(State);
AddRoundKey(State,RoundKey);
}
ByteSub变换
ByteSub变换是作用在状态中每个字节上的一种非线形字节变换。这个S盒子是可逆的且由以下两部分组成:
把字节的值用它的乘法逆替代,其中‘00’的逆就是它自己。
经(1)处理后的字节值进行如下定义的仿射变换:
y0 1 1 1 1 1 0 0 0 x0 0
y1 0 1 1 1 1 1 0 0 x1 1
y2 0 0 1 1 1 1 1 0 x2 1
y3 0 0 0 1 1 1 1 1 x3 0
y4 = 1 0 0 0 1 1 1 1 x4 + 0
y5 1 1 0 0 0 1 1 1 x5 0
y6 1 1 1 0 0 0 1 1 x6 1
y7 1 1 1 1 0 0 0 1 x7 1
ShiftRow变换
在ShiftRow变换中,状态的后3行以不同的移位值循环右移,行1移C1字节,行2移C2字节,行3移C3字节。
移位值C1,C2和C3与加密块长Nb有关,具体列在表2-5中:
表3-3 不同块长的移位值
Nb C1 C2 C3
4 1 2 3
MixColumn变换
在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式与一固定多项式c(x)相乘然后模多项式x4+1,其中c(x)为:
c(x) =‘03’x3 + ‘01’x2 + ‘01’x + ‘02’
圈密钥加法
在这个操作中,圈密钥被简单地使用异或操作按位应用到状态中。圈密钥通过密钥编制得到,圈密钥长等于数据块长Nb。
在这个表示法中,“函数”(Round, ByteSub, ShiftRow,...) 对那些被提供指针 (State, RoundKey) 的数组进行操作。ByteSub 变换是非线性字节交换,各自作用于每个 State 字节上。在 ShiftRow 中,State 的行按不同的偏移量循环移位。在 MixColumn 中,将 State 的列视为 GF(28) 多项式,然后乘以固定多项式 c( x ) 并模除 x4 + 1,其中 c( x ) = '03' x3 + '01' x2+ '01' x + '02'。这个多项式与 x4 + 1 互质,因此是可逆的。
轮回密钥通过密钥计划方式从密码密钥 (Cipher Key) 派生而出。它有两个组件:密钥扩展 (Key Expansion) 和轮回密钥选择 (Round Key Selection)。轮回密钥的总位数等于块长度乘以轮回次数加 1(例如,块长度等于 128 位,10 次轮回,那么就需要 1408 个轮回密钥位)。
密码密钥扩充成扩展密钥 (Expanded Key)。轮回密钥是通过以下方法从这个扩展密钥中派生的:第一个轮回密钥由前 Nb(Nb = 块长度)个字组成,第二个由接着的 Nb 个字组成,以此类推。
加密算法由以下部分组成:初始轮回密钥加法、Nr-1 个轮回和最后一个轮回。在伪 C 代码中:
Rijndael(State,CipherKey)
{
KeyExpansion(CipherKey,ExpandedKey);
AddRoundKey(State,ExpandedKey);
For( i=1 ; i<Nr ; i++ ) Round(State,ExpandedKey + Nb*i);
FinalRound(State,ExpandedKey + Nb*Nr).
}
如果已经预先执行了密钥扩展,则可以根据扩展密钥指定加密算法。
Rijndael(State,ExpandedKey)
{
AddRoundKey(State,ExpandedKey);
For( i=1 ; i<Nr ; i++ ) Round(State,ExpandedKey + Nb*i);
FinalRound(State,ExpandedKey + Nb*Nr);
}
由于 Rijndael 是可逆的,解密过程只是颠倒上述的步骤。
最后,开发者将仔细考虑如何集成这种安全性进展,使之成为继 Rijndael 之后又一个得到广泛使用的加密算法。AES 将很快应一般商业团体的要求取代 DES 成为标准,而该领域的发展进步无疑将追随其后。
3.IDEA加密算法 (1) 算法简介 IDEA算法是International Data Encryption Algorithmic 的缩写,意为国际数据加密算法。是由中国学者朱学嘉博士和着名密码学家James Massey 于1990年联合提出的,当时被叫作PES(Proposed Encryption Standard)算法,后为了加强抵抗差分密码分,经修改于1992年最后完成,并命名为IDEA算法。 (2) 算法描述 这个部分参见论文上的图 (3) 算法的安全性分析 安全性:IDEA的密钥长度是128位,比DES长了2倍多。所以如果用穷举强行攻击的话, 么,为了获得密钥需要 次搜索,如果可以设计一种每秒能搜索十亿把密钥的芯片,并且 采用十亿个芯片来并行处理的话,也要用上 年。而对于其他攻击方式来说,由于此算法 比较的新,在设计时已经考虑到了如差分攻击等密码分析的威胁,所以还未有关于有谁 发现了能比较成功的攻击IDEA方法的结果。从这点来看,IDEA还是很安全的。
4.总结
几种算法的性能对比
算法 密钥长度 分组长度 循环次数
DES 56 64 16
三重DES 112、168 64 48
AES 128、192、256 128 10、12、14
IDEA 128 64 8
速度:在200MHz的奔腾机上的对比。
C++ DJGP(++pgcc101)
AES 30.2Mbps 68.275Mbps
DES(RSAREF) 10.6Mbps 16.7Mbps
3DES 4.4Mbps 7.3Mbps
Celeron 1GHz的机器上AES的速度,加密内存中的数据
128bits密钥:
C/C++ (Mbps) 汇编(Mbps)
Linux 2.4.7 93 170
Windows2K 107 154
256bits密钥:
C/C++ (Mbps) 汇编(Mbps)
Linux 2.4.7 76 148
Windows2K 92 135
安全性
1990年以来,特制的"DES Cracker"的机器可在几个小时内找出一个DES密钥。换句话说,通过测试所有可能的密钥值,此硬件可以确定用于加密信息的是哪个密钥。假设一台一秒内可找出DES密钥的机器(如,每秒试255个密钥),如果用它来找出128-bit AES的密钥,大约需要149万亿年。
四、对称加密应用 在保密通信中的应用。(保密电话) 附加内容
安全哈希算法(SHA)
由NIST开发出来的。
此算法以最大长度不超过264位的消息为输入,生成160位的消息摘要输出。主要步骤:
1. 附加填充位
2. 附加长度
3. 初始化MD缓冲区,为160位的数据
A=67452301
B=EFCDAB89
C=89BADCFE
D=10325476
E=C3D2E1F0
4. 处理512位消息块,将缓冲虚数据和消息块共同计算出下一个输出
5. 输出160位摘要
此外还有其他哈希算法,如MD5(128位摘要),RIPEMD-160(160位摘要)等。
E. 根据以前的数据预测未来的行为用的是什么数据挖掘方法
数据挖掘(Data Mining)就是从大量数据中发现潜在规律、提取有用知识的方法和技术。因为与数据库密切相关,又称为数据库知识发现(Knowledge Discovery in Databases,KDD) ,就是将高级智能计算技术应用于大量数据中,让计算机在有人或无人指导的情况下从海量数据中发现潜在的,有用的模式(也叫知识)。
广义上说,任何从数据库中挖掘信息的过程都叫做数据挖掘。从这点看来,数据挖掘就是BI(商业智能)。但从技术术语上说,数据挖掘(Data Mining)特指的是:源数据经过清洗和转换等成为适合于挖掘的数据集。数据挖掘在这种具有固定形式的数据集上完成知识的提炼,最后以合适的知识模式用于进一步分析决策工作。从这种狭义的观点上,我们可以定义:数据挖掘是从特定形式的数据集中提炼知识的过程。数据挖掘往往针对特定的数据、特定的问题,选择一种或者多种挖掘算法,找到数据下面隐藏的规律,这些规律往往被用来预测、支持决策。
数据挖掘的主要功能
1.分类:按照分析对象的属性、特征,建立不同的组类来描述事物。例如:银行部门根据以前的数据将客户分成了不同的类别,现在就可以根据这些来区分新申请贷款的客户,以采取相应的贷款方案。
2.聚类:识别出分析对内在的规则,按照这些规则把对象分成若干类。例如:将申请人分为高度风险申请者,中度风险申请者,低度风险申请者。
3.关联规则和序列模式的发现:关联是某种事物发生时其他事物会发生的这样一种联系。例如:每天购买啤酒的人也有可能购买香烟,比重有多大,可以通过关联的支持度和可信度来描述。与关联不同,序列是一种纵向的联系。例如:今天银行调整利率,明天股市的变化。
4.预测:把握分析对象发展的规律,对未来的趋势做出预见。例如:对未来经济发展的判断。
5.偏差的检测:对分析对象的少数的、极端的特例的描述,揭示内在的原因。例如:在银行的100万笔交易中有500例的欺诈行为,银行为了稳健经营,就要发现这500例的内在因素,减小以后经营的风险。
需要注意的是:数据挖掘的各项功能不是独立存在的,在数据挖掘中互相联系,发挥作用。
数据挖掘的方法及工具
作为一门处理数据的新兴技术,数据挖掘有许多的新特征。首先,数据挖掘面对的是海量的数据,这也是数据挖掘产生的原因。其次,数据可能是不完全的、有噪声的、随机的,有复杂的数据结构,维数大。最后,数据挖掘是许多学科的交叉,运用了统计学,计算机,数学等学科的技术。以下是常见和应用最广泛的算法和模型:
(1) 传统统计方法:① 抽样技术:我们面对的是大量的数据,对所有的数据进行分析是不可能的也是没有必要的,就要在理论的指导下进行合理的抽样。② 多元统计分析:因子分析,聚类分析等。③ 统计预测方法,如回归分析,时间序列分析等。
(2) 可视化技术:用图表等方式把数据特征用直观地表述出来,如直方图等,这其中运用的许多描述统计的方法。可视化技术面对的一个难题是高维数据的可视化。
职业能力要求
基本能力要求
数据挖掘人员需具备以下基本条件,才可以完成数据挖掘项目中的相关任务。
一、专业技能
硕士以上学历,数据挖掘、统计学、数据库相关专业,熟练掌握关系数据库技术,具有数据库系统开发经验
熟练掌握常用的数据挖掘算法
具备数理统计理论基础,并熟悉常用的统计工具软件
二、行业知识
具有相关的行业知识,或者能够很快熟悉相关的行业知识
三、合作精神
具有良好的团队合作精神,能够主动和项目中其他成员紧密合作
四、客户关系能力
具有良好的客户沟通能力,能够明确阐述数据挖掘项目的重点和难点,善于调整客户对数据挖掘的误解和过高期望
具有良好的知识转移能力,能够尽快地让模型维护人员了解并掌握数据挖掘方法论及建模实施能力
进阶能力要求
数据挖掘人员具备如下条件,可以提高数据挖掘项目的实施效率,缩短项目周期。
具有数据仓库项目实施经验,熟悉数据仓库技术及方法论
熟练掌握SQL语言,包括复杂查询、性能调优
熟练掌握ETL开发工具和技术
熟练掌握Microsoft Office软件,包括Excel和PowerPoint中的各种统计图形技术
善于将挖掘结果和客户的业务管理相结合,根据数据挖掘的成果向客户提供有价值的可行性操作方案
应用及就业领域
当前数据挖掘应用主要集中在电信(客户分析),零售(销售预测),农业(行业数据预测),网络日志(网页定制),银行(客户欺诈),电力(客户呼叫),生物(基因),天体(星体分类),化工,医药等方面。当前它能解决的问题典型在于:数据库营销(Database Marketing)、客户群体划分(Customer Segmentation & Classification)、背景分析(Profile Analysis)、交叉销售(Cross-selling)等市场分析行为,以及客户流失性分析(Churn Analysis)、客户信用记分(Credit Scoring)、欺诈发现(Fraud Detection)等等,在许多领域得到了成功的应用。如果你访问着名的亚马逊网上书店(),会发现当你选中一本书后,会出现相关的推荐数目“Customers who bought this book also bought”,这背后就是数据挖掘技术在发挥作用。
数据挖掘的对象是某一专业领域中积累的数据;挖掘过程是一个人机交互、多次反复的过程;挖掘的结果要应用于该专业。因此数据挖掘的整个过程都离不开应用领域的专业知识。“Business First, technique second”是数据挖掘的特点。因此学习数据挖掘不意味着丢弃原有专业知识和经验。相反,有其它行业背景是从事数据挖掘的一大优势。如有销售,财务,机械,制造,call center等工作经验的,通过学习数据挖掘,可以提升个人职业层次,在不改变原专业的情况下,从原来的事务型角色向分析型角色转变。从80年代末的初露头角到90年代末的广泛应用,以数据挖掘为核心的商业智能(BI)已经成为IT及其它行业中的一个新宠。
数据采集分析专员
职位介绍:数据采集分析专员的主要职责是把公司运营的数据收集起来,再从中挖掘出规律性的信息来指导公司的战略方向。这个职位常被忽略,但相当重要。由于数据库技术最先出现于计算机领域,同时计算机数据库具有海量存储、查找迅速、分析半自动化等特点,数据采集分析专员最先出现于计算机行业,后来随着计算机应用的普及扩展到了各个行业。该职位一般提供给懂数据库应用和具有一定统计分析能力的人。有计算机特长的统计专业人员,或学过数据挖掘的计算机专业人员都可以胜任此工作,不过最好能够对所在行业的市场情况具有一定的了解。
求职建议:由于很多公司追求短期利益而不注重长期战略的现状,目前国内很多企业对此职位的重视程度不够。但大型公司、外企对此职位的重视程度较高,随着时间的推移该职位会有升温的趋势。另外,数据采集分析专员很容易获得行业经验,他们在分析过程中能够很轻易地把握该行业的市场情况、客户习惯、渠道分布等关键情况,因此如果想在某行创业,从数据采集分析专员干起是一个不错的选择。
市场/数据分析师
1. 市场数据分析是现代市场营销科学必不可少的关键环节: Marketing/Data Analyst从业最多的行业: Direct Marketing (直接面向客户的市场营销) 吧,自90年代以来, Direct Marketing越来越成为公司推销其产品的主要手段。根据加拿大市场营销组织(Canadian Marketing Association)的统计数据: 仅1999年一年 Direct Marketing就创造了470000 个工作机会。从1999至2000,工作职位又增加了30000个。为什么Direct Marketing需要这么多Analyst呢? 举个例子, 随着商业竞争日益加剧,公司希望能最大限度的从广告中得到销售回报, 他们希望能有更多的用户来响应他们的广告。所以他们就必需要在投放广告之前做大量的市场分析工作。例如,根据自己的产品结合目标市场顾客的家庭收入,教育背景和消费趋向分析出哪些地区的住户或居民最有可能响应公司的销售广告,购买自己的产品或成为客户,从而广告只针对这些特定的客户群。这样有的放矢的筛选广告的投放市场既节省开销又提高了销售回报率。但是所有的这些分析都是基于数据库,通过数据处理,挖掘,建模得出的,其间,市场分析师的工作是必不可少的。
2. 行业适应性强: 几乎所有的行业都会应用到数据, 所以作为一名数据/市场分析师不仅仅可以在华人传统的IT行业就业,也可以在政府,银行,零售,医药业,制造业和交通传输等领域服务。
现状与前景
数据挖掘是适应信息社会从海量的数据库中提取信息的需要而产生的新学科。它是统计学、机器学习、数据库、模式识别、人工智能等学科的交叉。在中国各重点院校中都已经开了数据挖掘的课程或研究课题。比较着名的有中科院计算所、复旦大学、清华大学等。另外,政府机构和大型企业也开始重视这个领域。
据IDC对欧洲和北美62家采用了商务智能技术的企业的调查分析发现,这些企业的3年平均投资回报率为401%,其中25%的企业的投资回报率超过600%。调查结果还显示,一个企业要想在复杂的环境中获得成功,高层管理者必须能够控制极其复杂的商业结构,若没有详实的事实和数据支持,是很难办到的。因此,随着数据挖掘技术的不断改进和日益成熟,它必将被更多的用户采用,使更多的管理者得到更多的商务智能。
根据IDC(International Data Corporation)预测说2004年估计BI行业市场在140亿美元。现在,随着我国加入WTO,我国在许多领域,如金融、保险等领域将逐步对外开放,这就意味着许多企业将面临来自国际大型跨国公司的巨大竞争压力。国外发达国家各种企业采用商务智能的水平已经远远超过了我国。美国Palo Alto 管理集团公司1999年对欧洲、北美和日本375家大中型企业的商务智能技术的采用情况进行了调查。结果显示,在金融领域,商务智能技术的应用水平已经达到或接近70%,在营销领域也达到50%,并且在未来的3年中,各个应用领域对该技术的采纳水平都将提高约50%。
现在,许多企业都把数据看成宝贵的财富,纷纷利用商务智能发现其中隐藏的信息,借此获得巨额的回报。国内暂时还没有官方关于数据挖掘行业本身的市场统计分析报告,但是国内数据挖掘在各个行业都有一定的研究。据国外专家预测,在今后的5—10年内,随着数据量的日益积累以及计算机的广泛应用,数据挖掘将在中国形成一个产业。
众所周知,IT就业市场竞争已经相当激烈,而数据处理的核心技术---数据挖掘更是得到了前所未有的重视。数据挖掘和商业智能技术位于整个企业IT-业务构架的金字塔塔尖,目前国内数据挖掘专业的人才培养体系尚不健全,人才市场上精通数据挖掘技术、商业智能的供应量极小,而另一方面企业、政府机构和和科研单位对此类人才的潜在需求量极大,供需缺口极大。如果能将数据挖掘技术与个人已有专业知识相结合,您必将开辟职业生涯的新天地!
职业薪酬
就目前来看,和大多IT业的职位一样,数据仓库和数据挖掘方面的人才在国内的需求工作也是低端饱和,高端紧缺,在二线成熟,高端数据仓库和数据挖掘方面的人才尤其稀少。高端数据仓库和数据挖掘人才需要熟悉多个行业,至少有3年以上大型DWH和BI经验,英语读写流利,具有项目推动能力,这样的人才年薪能达到20万以上。
职业认证
1、SAS认证的应用行业及职业前景
SAS全球专业认证是国际上公认的数据挖掘和商业智能领域的权威认证,随着我国IT环境和应用的日渐成熟,以上两个领域将有极大的行业发展空间。获取SAS全球专业认证,为您在数据挖掘、分析方法论领域积累丰富经验奠定良好的基础,帮助您开辟职业发展的新天地。
2、SAS认证的有效期
目前SAS五级认证没有特定有效期,但是时间太久或版本太老的认证证书会有所贬值。
3、五级认证的关系
五级认证为递进式关系,即只有通过上一级考试科目才能参加下一级认证考试。
4、SAS全球认证的考试方式
考试为上机考试,时间2个小时,共70道客观题。
相关链接
随着中国物流行业的整体快速发展,物流信息化建设也取得一定进展。无论在IT硬件市场、软件市场还是信息服务市场,物流行业都具有了一定的投资规模,近两年的总投资额均在20-30亿元之间。政府对现代物流业发展的积极支持、物流市场竞争的加剧等因素有力地促进了物流信息化建设的稳步发展。
易观国际最新报告《中国物流行业信息化年度综合报告2006》中指出,中国物流业正在从传统模式向现代模式实现整体转变,现代物流模式将引导物流业信息化需求,而产生这种转变的基本动力来自市场需求。报告中的数据显示:2006-2010年,传统物流企业IT投入规模将累计超过100亿元人民币。2006-2010年,第三方物流企业IT投入规模将累计超过20亿元人民币。
由于目前行业应用软件系统在作业层面对终端设备的硬件提出的应用要求较高,而软件与硬件的集成性普遍不理想,对应性单一,因此企业将对软件硬件设备的集成提出更高要求。
物流行业软件系统研发将更多的考虑运筹学与数据挖掘技术,专业的服务商将更有利于帮助解决研发问题。
物流科学的理论基础来源于运筹学,并且非常强调在繁杂的数据处理中找到关联关系(基于成本-服务水平体系),因此数据挖掘技术对于相关的软件系统显得更为重。
F. pc加拿大3.2玩法
pc加拿大32玩法
pc加拿大32玩法
pc加拿大32玩法是一种简单有趣的游戏,它由32张牌组成,包括4种花色:黑桃、红桃、梅花和方块,每种花色有8张牌,从2到10,另外还有4张王牌(大小王)。每局游戏都会有2名玩家,每人会被发5张牌,烂搜玩家可以根据自己的牌型来判断自己的胜负,最后获胜的玩家将获得奖金。
玩家可以根据自己的牌型来押注,例如可以押注自己拥有的牌最大值,也可以押注自己拥有的牌最小值,还可以押注自己拥有的牌型,例如押注自己拥有的牌中有多少张红桃牌,有多少张黑桃牌等等,玩家可以根据自己的押注来决定自己的胜负。
pc加拿大32玩法是一种有趣的游戏,它比较容易上手,也比较有趣,玩家可以根据自己的牌型来决定自己的胜负,也可以根饥皮历据自己的押注来决定自己的胜负,这种游戏非常有握闭趣,值得一试!
G. 摩洛哥和加拿大抢断多少个
摩洛哥和加拿大抢断多少个?答案如下:摩洛哥和加拿大抢断32个,第二步是步骤不周延的通用版。