中国剩余定理在密码学中的应用

中国剩余定理在密码学中的应用
中国剩余定理在密码学中的应用

中国剩余定理在密码学中的应用

【摘要】

中国剩余定理是我国古代数学家为世界数学发展作出的巨大贡献,其数学思想在近代数学、现代密在密码学方面的应用,码学以及日常生活中都有着广泛的应用和影响。本文主要讨论了中国剩余定理在密码学方面的应用,包括基于中国剩余定理的RSA改进算法,并对算法的效率进行了分析比较。介绍了一种改进的秘密分割门限方案,一种基于中国剩余定理的群签名方案,中国剩余定理在数学指纹中的应用,以及一个基于中国剩余定理的叛逆追踪方案。

【关键词】中国剩余定理;RSA;秘密分割;群签名;数字指纹;叛逆追踪

1 中国剩余定理介绍

在中国数学史上,广为流传着一个“韩信点兵”的故事:为了保住军事机密,不让敌人知道自己的实力,韩信先令士兵从1至3报数,然后记下最后一个士兵所报之数;再令士兵从1至5报数,也记下最后一个士兵所报之数;最后令士兵从1至7报数,又记下最后一个士兵所报之数;这样,他很快就算出了自己部队士兵的总人数,而敌人则始终无法弄清他的部队究竟有多少名士兵,“韩信点兵”正是用到了中国剩余定理。

中国剩余定理的完整正式版:设m1,m2,……mk 是两两互素的正整数,

1∏==k

i i m M 则一次同余方程

对模M 有唯一解

其中满足

1122(mod )

(mod )(mod )k k x a m x a m x a m ≡??≡????≡? 112212(mod )k k k M M M x e a e a e a M m m m ??≡+++ ??? 1(mod )(1,2,,)i i i

M e m i k m ≡=

什么是中国剩余定理

什么是中国剩余定理?

剩余定理详细解法 中国数学史书上记载:在两千多年前的我国古代算书《孙子算经》中,有这样一个问题及其解法:今有物不知其数,三三数之剩二;五五数之剩三:七七数之剩二。问物几何? 意思是说:现在有一堆东西,不知道它的数量,如果三个三个的数最后剩二个,如果五个五个的数最后剩三个,如果七个七个的数最后剩二个,问这堆东西有多少个?你知道这个数目吗? 《孙子算经》这道著名的数学题是我国古代数学思想“大衍求一术”的具体体现,针对这道题给出的解法是:N=70×2+21×3+15×2-2×105=23 如此巧妙的解法的关键是数字70、21和15的选择: 70是可以被5、7整除且被3除余1的最小正整数,当70×2时被3除余2 21是可以被3、7整除且被5除余1的最小正整数,当21×3时被5除余3 15是可以被3、5整除且被7除余1的最小正整数,当15×2时被7除余2 通过这种构造方法得到的N就可以满足题目的要求而减去2×105 后得到的是满足这一条件的最小正整数。 韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。 刘邦茫然而不知其数。 我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵有多少? 首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然后再加3,得9948(人)。 中国有一本数学古书「孙子算经」也有类似的问题: 「今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?」答曰:「二十三」术曰:「三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得。」 孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之后,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。 中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位。

现代密码学 学习心得

混合离散对数及安全认证 摘要:近二十年来,电子认证成为一个重要的研究领域。其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。 对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。虽然其具有很高的安全性,却导致高负荷运算。最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。 本文研究混合系数的离散对数问题,也即信息不可识别性。我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。 1.概述 在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。然而,效率一直就是一个难以实现的属性。即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。其原因就是零知识协议的广泛应用。 身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。然而,其约减的代价太高,使得其不适用于现实中的问题。 几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。而对于“信息不可分辨”属性,则意味着在攻击者方面看来,证据所用的私钥是不受约束的。也就是说有许多的私钥对应于一个公钥,证据仅仅传递了有这样一个私钥被使用了这样一个信息,但是用的是哪个私钥,并没有在证据传递的信息中出现。下面,我们集中考虑后一种属性,它能够提供一种三次传递识别方案并且对抗主动攻击。Okamoto 描述了一些schnorr和guillou-quisquater识别方案的变种,是基于RSA假设和离散对数子群中的素数阶的。 随机oracle模型:最近几年,随机oracle模型极大的推动了研究的发展,它能够用来证明高效方案的安全性,为设计者提供了一个有价值的工具。这个模型中理想化了一些具体的密码学模型,例如哈希函数被假设为真正的随机函数,有助于给某些加密方案和数字签名等提供安全性的证据。尽管在最近的报告中对于随机oracle模型采取了谨慎的态度,但是它仍然被普遍认为非常的有效被广泛的应用着。例如,在这个模型中被证明安全的OAPE加密

中国剩余定理(孙子定理)

中国剩余定理(孙子定理) 问题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何? 简单点说就是,存在一个数x,除以3余2,除以5余三,除以7余二,然后求这个数。上面给出了解法。再明白这个解法的原理之前,需要先知道一下两个定理。 定理1:几个数相加,如果存在一个加数,不能被整数a整除,那么它们的和,就不能被整数a整除。 定理2:两数不能整除,若除数扩大(或缩小)了几倍,而被除数不变,则其商和余数也同时扩大(或缩小)相同的倍数(余数必小于除数)。 以上两个定理随便个例子即可证明! 现给出求解该问题的具体步骤: 1、求出最小公倍数 lcm=3*5*7=105 2、求各个数所对应的基础数 (1)105÷3=35 35÷3=11......2 //基础数35 (2)105÷5=21 21÷5=4 (1) 定理2把1扩大3倍得到3,那么被除数也扩大3倍,得到21*3=63//基础数63 3、105÷7=15 15÷7=2 (1) 定理2把1扩大2倍得到2,那么被除数也扩大2倍,得到15*2=30//基础数30 把得到的基础数加和(注意:基础数不一定就是正数) 35+63+30=128 4、减去最小公倍数lcm(在比最小公倍数大的情况下) x=128-105=23 那么满足题意得最小的数就是23了。一共有四个步骤。下面详细解释每一步的原因。 (1)最小公倍数就不解释了,跳过(记住,这里讨论的都是两两互质的情况) (2)观察求每个数对应的基础数时候的步骤,比如第一个。105÷3=35。显然这个35是除了当前这个数不能整除以外都能够被其他数整除,就是其他数的最小公倍数。相当于找到了最小的起始值,用它去除以3发现正好余2。那么这个基础数就是35。记住35的特征,可以整除其他数但是不能被3整除,并且余数是2。体现的还不够明显,再看下5对应的基础数。21是其他数的最小公倍数,但是不能被5整除,用21除以5得到的余数是1,而要求的数除以5应该是余1的。所以余数被扩大,就得到了相应的基础数63。记住这个数的特征,可以被其他数整除但是被5除应该余三。同理,我们得到了第三个基础数23,那么他的特征就是:可以被其他数整除,但是不能被7整除,并且余数为2。 (3)第三步基础数加和,为什么要这样做呢?利用就是上面提到的定理1。 35+63+30=128。对于3来说,可以把63+30的和看作一个整体,应该他们都可以被3整除。看着上面写出的三个数的特征,运用定理1来说,就是在35的基础上加上一个可以被3整除的倍数,那么得到的结果依然还是满足原先的性质的,就是128除以同样还是余2的。同理,对于5还说,这个数被除之后会剩余3;对于7来说,被除之后剩余2。所以说,我们当前得到的这个数是满足题目要求的一个数。但是这个数是不是最小的,那就不一定了。 (4)应该不能确定是不是最小的数,这个时候就要用到他们的最小公倍数了。最小公倍数顾名思义,一定是一个同时被几个数整除的最小的一个数,所以减去它剩余下来的余数还是符合题

浅析中国剩余定理及其应用

浅析中国剩余定理及其应用 李辉 (井冈山学院数理学院信息与计算科学 343009) 指导老师颜昌元 [摘要]:本文阐述了中国剩余定理的由来,介绍了它的几种解法,及其它在多项式,现代密码学,生活方面的应用. [关键词]:中国剩余定理;解法;多项式;现代密码学 引言在中国,以剩余定理为代表的同余理论源远流长,可追溯到《周易》中的卜筮古法.秦九韶说:“圣有大衍,微寓于《易》”,即指此意.另外,同余理论的另一个来源是古代制定历法的需要.实际上,从汉末到宋末1000余年的时间中,有很多天文学家熟悉一次同余式的解法,他们在编制历法时利用它来推算“上元积年”.中国剩余定理对现代数学的研究有很强的启迪意义.特别是在多项式,密码学中的应用非常关键. 一中国剩余定理的由来 我国古代《孙子算经》中有一著名而又重要的问题:“今有物不知其数,三三数之剩二、五五数之剩三,七七数之剩二,问物几何.答曰:二十三”.这一问题可译为:一个数除以3余2,除以5余3,除以7余2.求适合条件的最小的数.题中还介绍了它的解法:“术曰:三三数之剩二,置一百四十;五五数之剩三,置六十三;七七数之剩二,置三十;并之,得二百三十三,以二百十减之,即得.”意即:物数W=70×2+21×3+15×2-2×105=23.接下来又给出了这类题的一般解法(余数为一的情况):术文说:“凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置十五.一百六以上,以一百五减之,即得.”这个问题及其解法,在世界数学史上占有重要的地位,因此,中外数学家都尊称为“孙子定理”或“中国剩余定理”. 为了比较清楚地了解“中国剩余定理”这一名称的由来,我们不妨先引进同余定义:一般地,若两个整数a、b被同一个大于1的整数m除有相同的余数,那么称a、b对于模m同余.记作: a≡b (mod m)应用同余原理,我们把“物不知其数”问题用整数的同余式符号表达出来,是:设N≡2 (mod 3)≡3 (mod 5)≡2 (mod 7),求最小的数N.答案是N=23. 书中问题及其解法,建立起数学模型就是: 设a、b、c为余数, P为整数,则N≡a(mod 3)≡b(mod 5)≡c(mod 7) 的解是: N=70a+21b+15c-105P (1) 现在,我们把上述解法中的a,b,c作一分析:设M=3×5×7,则 70=2×5×7=2×(3×5×7)/3=2×M/3

现代密码学课后题答案

《现代密码学习题》答案 第一章 判断题 ×√√√√×√√ 选择题 1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。 A、Shannon B、Diffie C、Hellman D、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。 A无条件安全B计算安全C可证明安全D实际安全 4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。 A、唯密文攻击 B、已知明文攻击 C、选择明文攻击 D、选择密文攻击 填空题: 5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。 7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。 9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 判断题: ×√√√ 选择题: 1、字母频率分析法对(B )算法最有效。 A、置换密码 B、单表代换密码 C、多表代换密码 D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。 A仿射密码B维吉利亚密码C轮转密码D希尔密码

小学奥数:中国剩余定理

在一千多年前的《孙子算经》中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数。这样的问题,也有人称为“韩信点兵”.它形成了一类问题,也就是初等数论中的解同余式。 ① 有一个数,除以3余2,除以4余1,问这个数除以12余几? 解:除以3余2的数有:2, 5, 8, 11,14, 17, 20,23… 它们除以12的余数是:2,5,8,11,2,5,8,11… 除以4余1的数有:1, 5, 9, 13, 17, 21, 25,29… 它们除以12的余数是:1, 5, 9, 1, 5, 9,…. 一个数除以12的余数是唯一的.上面两行余数中,只有5是共同的,因此这个数除以12的余数是5。如果我们把①的问题改变一下,不求被12除的余数,而是求这个数.很明显,满足条件的数是很多的,它是5+12×整数,整数可以取0,1,2,…,无穷无尽.事实上,我们首先找出5后,注意到12是3与4的最小公倍数,再加上12的整数倍,就都是满足条件的数.这样就是把“除以3余2,除以4余1”两个条件合并成“除以12余5”一个条件.《孙子算经》提出的问题有三个条件,我们可以先把两个条件合并成一个.然后再与第三个条件合并,就可找到答案. ②一个数除以3余2,除以5余3,除以7余2,求符合条件的最小数。 解:先列出除以3余2的数:2, 5, 8, 11, 14, 17, 20, 23,26… 再列出除以5余3的数:3, 8, 13, 18, 23,28… 这两列数中,首先出现的公共数是8.3与5的最小公倍数是15.两个条件合并成一个就是8+15×整数,列出这一串数是8, 23, 38,…,再列出除以7余2的数 2, 9, 16, 23,30… 就得出符合题目条件的最小数是23. 事实上,我们已把题目中三个条件合并成一个:被105除余23. 那么韩信点的兵在1000-1500之间,可能是105×10+23=1073人 问题:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?”答曰:“二十三”术曰: 三三数剩一置几何?答曰:五乘七乘二得之七十。 五五数剩一复置几何?答曰,三乘七得之二十一是也。 七七数剩一又置几何?答曰,三乘五得之十五是也。 三乘五乘七,又得一百零五。 则可知已,又三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十,五五数

数学运算“中国剩余定理”的应用

数学运算“中国剩余定理”的应用 例1:一个数被3除余1,被4除余2,被5除余4,这个数最小是几? 题中3、4、5三个数两两互质。 则…4,5?=20;…3,5?=15;…3,4?=12;…3,4,5?=60。 为了使20被3除余1,用20×2=40; 使15被4除余1,用15×3=45; 使12被5除余1,用12×3=36。 然后,40×1+45×2+36×4=274, 因为,274>60,所以,274-60×4=34,就是所求的数。 例2:一个数被3除余2,被7除余4,被8除余5,这个数最小是几? 题中3、7、8三个数两两互质。 则…7,8?=56;…3,8?=24;…3,7?=21;…3,7,8?=168。 为了使56被3除余1,用56×2=112; 使24被7除余1,用24×5=120。 使21被8除余1,用21×5=105; 然后,112×2+120×4+105×5=1229, 因为,1229>168,所以,1229-168×7=53,就是所求的数。 例3:一个数除以5余4,除以8余3,除以11余2,求满足条件的最小的自然数。

题中5、8、11三个数两两互质。 则…8,11?=88;…5,11?=55;…5,8?=40;…5,8,11?=440。 为了使88被5除余1,用88×2=176; 使55被8除余1,用55×7=385; 使40被11除余1,用40×8=320。 然后,176×4+385×3+320×2=2499, 因为,2499>440,所以,2499-440×5=299,就是所求的数。 例4:有一个年级的同学,每9人一排多5人,每7人一排多1人,每5人一排多2人,问这个年级至少有多少人? 题中9、7、5三个数两两互质。 则…7,5?=35;…9,5?=45;…9,7?=63;…9,7,5?=315。 为了使35被9除余1,用35×8=280; 使45被7除余1,用45×5=225; 使63被5除余1,用63×2=126。 然后,280×5+225×1+126×2=1877, 因为,1877>315,所以,1877-315×5=302,就是所求的数。 例5:有一个年级的同学,每9人一排多6人,每7人一排多2人,每5人一排多3人,问这个年级至少有多少人? 题中9、7、5三个数两两互质。 则…7,5?=35;…9,5?=45;…9,7?=63;…9,7,5?=315。 为了使35被9除余1,用35×8=280; 使45被7除余1,用45×5=225;

五年级奥数.数论.中国剩余定理及弃九法(A级).学生版

一、 中国剩余定理——中国古代趣题 1) 趣题一 中国数学名著《孙子算经》里有这样的问题:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?”答曰:“二十三。” 此类问题我们可以称为“物不知其数”类型,又被称为“韩信点兵”。 韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。刘邦茫然而不知其数。 我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵有多少? 首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然后再加3,得9948(人)。 孙子算经的作者及确实著作年代均不可考,不过根据考证,著作年代不会在晋朝之后,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。中国剩余定理(Chinese Remainder Theorem )在近代抽象代数学中占有一席非常重要的地位。 2) 趣题二 我国明朝有位大数学家叫程大位,他在解答“物不知其数”问题(即:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?)时用四句诗概括出这类问题的优秀解法: “三人同行七十稀,五树梅花廿一枝,七子团圆正月半,除百零五便得知.” 这首诗就是解答此类问题的金钥匙,它被世界各国称为“中国剩余定理”(Chinese Remainder Theorem ),是我国古代数学的一项辉煌成果.诗中的每一句话都表示一个步骤: 三人同行七十稀,是说除以3所得的余数用70乘. 五树梅花廿一枝,是说除以5所得的余数用21乘. 七子团圆正月半,是说除以7所得的余数用15乘. 除百零五便得知,是说把上面乘得的3个积加起来,减去105的倍数,减得差就是所求的数. 此题的中国剩余定理的解法是:用70乘3除所得的余数,21乘5除所得的余数,15乘7除所得知识框架 中国剩余定理及弃九法

现代密码学教程课后部分答案考试比用

第一章 1、1949年,(A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。 A、Shannon B、Diffie C、Hellman D、Shamir 2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由(D)决定的。 A、加密算法 B、解密算法 C、加解密算法 D、密钥 3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是(B )。 A无条件安全B计算安全C可证明安全D实际安全 4、根据密码分析者所掌握的分析资料的不同,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是(D )。 A、唯密文攻击 B、已知明文攻击 C、选择明文攻击 D、选择密文攻击 5、1976年,W.Diffie和M.Hellman在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。 6、密码学的发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。 7、密码学是研究信息及信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法5部分组成的。 9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。 第二章 1、字母频率分析法对(B )算法最有效。 A、置换密码 B、单表代换密码 C、多表代换密码 D、序列密码 2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。 A仿射密码B维吉利亚密码C轮转密码D希尔密码 3、重合指数法对(C)算法的破解最有效。 A置换密码B单表代换密码C多表代换密码D序列密码 4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。 A置换密码B单表代换密码C多表代换密码D序列密码 5、在1949年香农发表《保密系统的通信理论》之前,密码学算法主要通过字符间的简单置换和代换实现,一般认为这些密码体制属于传统密码学范畴。 6、传统密码体制主要有两种,分别是指置换密码和代换密码。 7、置换密码又叫换位密码,最常见的置换密码有列置换和周期转置换密码。 8、代换是传统密码体制中最基本的处理技巧,按照一个明文字母是否总是被一个固定的字母代替进行划分,代换密码主要分为两类:单表代换和多表代换密码。 9、一个有6个转轮密码机是一个周期长度为26 的6次方的多表代替密码机械装置。 第四章 1、在( C )年,美国国家标准局把IBM的Tuchman-Meyer方案确定数据加密标准,即DES。 A、1949 B、1972 C、1977 D、2001 2、密码学历史上第一个广泛应用于商用数据保密的密码算法是(B )。 A、AES B、DES C、IDEA D、RC6 3、在DES算法中,如果给定初始密钥K,经子密钥产生的各个子密钥都相同,则称该密钥K为弱密钥,DES算法弱密钥的个数为(B )。 A、2 B、4 C、8 D、16

中国剩余定理问题的解题技巧

【问题】有1个数,除以7余2.除以8余4,除以9余3,这个数至少是多少? 这种问题称为“中国剩余定理”问题。 我一般用两种方法解决这类问题。 第一种是逐步满足法,方法麻烦一点,但适合所有这类题目。 第二种是最小共倍法,方法简单,但只适合特殊类型的题目。 还有“中国剩余定理”的方法,但它不完善且解法较为复杂,普及应用有一定难度,还不稳定。所以一般不用。 下面分别介绍一下常用的两种方法。 通用的方法:逐步满足法 【问题】一个数,除以5余1,除以3余2。问这个数最小是多少? 把除以5余1的数从小到大排列:1,6,11,16,21,26,…… 然后从小到大找除以3余2的,发现最小的是11. 所以11就是所求的数。 先满足一个条件,再满足另一个条件,所以称之为“逐步满足法”。 好多数学题目都可以用逐步满足的思想解决。 特殊的方法:最小公倍法 情况一 【问题】一个数除以5余1,除以3也余1。问这个数最小是多少?(1除外) 除以5余1:说明这个数减去1后是5的倍数。 除以3余1:说明这个数减去1后也是3的倍数。 所以,这个数减去1后是3和5的公倍数。要求最小,所以这个数减去1后就是3和5的最小公倍数。即这个数减去1后是15,所以这个数是15+1=16. 情况二

【问题】一个数除以5余4,除以3余2。问这个数最小是多少? 这种情况也可以用特殊法。 数除以5余4,说明这个数加上1后是5的倍数。 数除以3余2,说明这个数加上1后也是3的倍数。 所以,这个数加上1后是3和5的公倍数。要求最小,所以这个数加上1后就是3和5的最小公倍数。即这个数加上1后是15,所以这个数是15-1=14. 多个数的,比如3个数的,有时候其中两个可以用特殊法,那就先用特殊法,用特殊法求出满足两个条件的数后再用通用的方法求满足最后一个条件的数。 所以有时候特殊法和通用法混合使用。在使用的过程中如果能灵活运用余数问题的技巧,会非常有利于解题。 我们接下来分析最开始的那个问题。 【问题】有1个数,除以7余2.除以8余4,除以9余3,这个数至少是多少? 这道题目不能用特殊法,我们用通用法,解题过程中注意余数知识的运用。 除以7余2的数可以写成7n+2。 7n+2这样的数除以8余4,由于2除以8余2,所以要求7n除以8余2。(余数知识) 7n除以8余2,7除以8余7,要求n除以8余6(余数知识),则n最小取6。 所以满足“除以7余2,除以8余4”的最小的数是7×6+2=44. 所有满足“除以7余2,除以8余4”的数都可以写成44+56×m。(想想为什么?) 要求44+56×m除以9余3,由于44除以9余8,所以要求56×m除以9余4。(余数知识) 56×m除以9余4,由于56除以9余2,所以要求m除以9余2(余数知识),则m最小取2。 所以满足“除以7余2,除以8余4,除以9余3”的最小的数是44+56×2=156.

中国剩余定理及应用

“中国剩余定理”算理及其应用 “中国剩余定理”算理及其应用: 为什么这样解呢?因为70是5和7的公倍数,且除以3余1。21是3和7的公倍数,且除以5余1。15是3和5的公倍数,且除以7余1。(任何一个一次同余式组,只要根据这个规律求出那几个关键数字,那么这个一次同余式组就不难解出了。)把70、21、15这三个数分别乘以它们的余数,再把三个积加起来是233,符合题意,但不是最小,而105又是3、5、7的最小公倍数,去掉105的倍数,剩下的差就是最小的一个答案。 用歌诀解题容易记忆,但有它的局限性,只能限于用3、5、7三个数去除,用其它的数去除就不行了。后来我国数学家又研究了这个问题,运用了像上面分析的方法那样进行解答。 例1:一个数被3除余1,被4除余2,被5除余4,这个数最小是几? 题中3、4、5三个数两两互质。 则〔4,5〕=20;〔3,5〕=15;〔3,4〕=12;〔3,4,5〕=60。 为了使20被3除余1,用20×2=40; 使15被4除余1,用15×3=45; 使12被5除余1,用12×3=36。 然后,40×1+45×2+36×4=274, 因为,274>60,所以,274-60×4=34,就是所求的数。 例2:一个数被3除余2,被7除余4,被8除余5,这个数最小是几? 题中3、7、8三个数两两互质。 则〔7,8〕=56;〔3,8〕=24;〔3,7〕=21;〔3,7,8〕=168。 为了使56被3除余1,用56×2=112; 使24被7除余1,用24×5=120。 使21被8除余1,用21×5=105; 然后,112×2+120×4+105×5=1229, 因为,1229>168,所以,1229-168×7=53,就是所求的数。 例3:一个数除以5余4,除以8余3,除以11余2,求满足条件的最小的自然数。 题中5、8、11三个数两两互质。 则〔8,11〕=88;〔5,11〕=55;〔5,8〕=40;〔5,8,11〕=440。 为了使88被5除余1,用88×2=176; 使55被8除余1,用55×7=385; 使40被11除余1,用40×8=320。 然后,176×4+385×3+320×2=2499, 因为,2499>440,所以,2499-440×5=299,就是所求的数。 例4:有一个年级的同学,每9人一排多5人,每7人一排多1人,每5人一排多2人,问这个年级至少有多少人?(幸福123老师问的题目) 题中9、7、5三个数两两互质。 则〔7,5〕=35;〔9,5〕=45;〔9,7〕=63;〔9,7,5〕=315。 为了使35被9除余1,用35×8=280; 使45被7除余1,用45×5=225; 使63被5除余1,用63×2=126。

现代密码学小论文

目录 现代密码学的认识与应用 (1) 一、密码学的发展历程 (1) 二、应用场景 (1) 2.1 Hash函数 (1) 2.2应用场景分析 (2) 2.2.1 Base64 (2) 2.2.2 加“盐” (2) 2.2.3 MD5加密 (2) 2.3参照改进 (3) 2.3.1 MD5+“盐” (3) 2.3.2 MD5+HMAC (3) 2.3.3 MD5 +HMAC+“盐” (3) 三、总结 (4)

现代密码学的认识与应用 一、密码学的发展历程 密码学的起源的确要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,为了确保他们的通信的机密,最先是有意识的使用一些简单的方法来加密信息,通过一些(密码)象形文字相互传达信息。接着由于文字的出现和使用,确保通信的机密性就成为一种艺术,古代发明了不少加密信息和传达信息的方法。 事实上,密码学真正成为科学是在19世纪末和20世纪初期,由于军事、数学、通讯等相关技术的发展,特别是两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了空前的发展,并广泛的用于军事情报部门的决策。 20世纪60年代计算机与通信系统的迅猛发展,促使人们开始考虑如何通过计算机和通信网络安全地完成各项事务,从而使得密码技术开始广泛应用于民间,也进一步促进了密码技术的迅猛发展。 二、应用场景 2.1 Hash函数 Hash函数(也称杂凑函数、散列函数)就是把任意长的输入消息串变化成固定长度的输出“0”、“1”串的函数,输出“0”、“1”串被称为该消息的Hash值(或杂凑值)。一个比较安全的Hash函数应该至少满足以下几个条件: ●输出串长度至少为128比特,以抵抗攻击。对每一个给定的输入,计算 Hash值很容易(Hash算法的运行效率通常都很高)。 ●对给定的Hash函数,已知Hash值,得到相应的输入消息串(求逆)是计 算上不可行的。 ●对给定的Hash函数和一个随机选择的消息,找到另一个与该消息不同的 消息使得它们Hash值相同(第二原像攻击)是计算上不可行的。 ●对给定的Hash函数,找到两个不同的输入消息串使得它们的Hash值相同 (即碰撞攻击)实际计算上是不可行的Hash函数主要用于消息认证算法 构造、口令保护、比特承诺协议、随机数生成和数字签名算法中。 Hash函数算法有很多,最著名的主要有MD系列和SHA系列,一直以来,对于这些算法的安全性分析结果没有很大突破,这给了人们足够的信心相信它们是足够安全的,并被广泛应用于网络通信协议当中。

六下奥数1中国剩余定理

六下奥数1 论述中国剩余定理的形成及对教育的影响 摘要:“中国剩余定理”是由秦九韶从“孙子定理”的基础上推广而来的,本文从论述中国剩余定理的形成到中国剩余定理的主要方法和对现代教育的影响来写。中国剩余定理在高中有初步的基础应用,在大学中的初等数论中该定理得到了仔细的讲解。中国剩余定理的思想方法和原则不仅有光辉的历史意义,而且在近代数学中仍然有着重大影响和作用。 引言 随着数学学科的发展,数学方面的知识得到了不断的更新和强化。 在数学发展史上,剩余问题(即:在整数除法里,一个数同时除以几个数,整数商后,均有剩余;已知各除数及其对应的余数,要求适合条件的这个被除数。这类问题统称剩余问题)曾经困扰过人们很长一段时间。这个问题的解决,是我们中国人迈出了开拓性的第一步。 如果说,一部中国数学发展史像一条源远流长的河流,那么几千年来祖先们取得的辉煌成就,就是这河流中耀眼的浪花。在祖先取得的成就中有一个“中国剩余定理”。大家都知道,“勾股定理”最早是由我国西周时期的商高发现的,但国外却称其为“毕达哥拉斯定理”,法国称为“驴桥定理”,埃及称为“埃及三角形”等。还有“增乘开方法”,最早是由我国宋代的贾宪发明的,但现代数学却称其为“霍纳法”,贾宪的发明比霍纳早了800年。而中国剩余定理则是唯一一个以我国国名命名的定理,大家一定对这个定理很感兴趣,很想知道关于这个定理的故事。现在我就为大家简单介绍一下“中国剩余定理”。 1、中国剩余定理的简介及形成 在我国古代劳动人民中,长期流传着“隔墙算”、“剪管术”、“秦王暗点兵”等数学游戏。有一首“孙子歌”,甚至远渡重洋,输入日本:“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”这些饶有趣味的数学游戏,以各种不同形式,介绍世界闻名的“孙子问题”的解法,通俗地反映了中国古代数学一项卓越的成就。“孙子问题”在现代数论中是一个一次同余问题,它最早出现在我国公元四世纪的数学著作《孙子算经》中。《孙子算经》是算经十书之一,又作《孙子算术》。现有传本《孙子算经》分上、中、下共3卷。该书作者和确切成书年代均无法考证,大约成书于公元400年前后。中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国剩余定理。 一千多年前的《孙子算经》中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以三余二,除以五余三,除以七余二,求这个数。《孙子算经》给出了一个非常有效的巧妙解法。术曰:“三、三数之剩二,置一百四十;五、五数之剩三,置六十三;七、七数之剩二,置三十,并之,得二百三十三。以二百一十减之,即得。凡三、三数之剩一,则置七十;五、五数之剩一,则置二十一;七、七数之剩一,则置十五。一百六以上,一百五减之,即得。 在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝的建立立下了卓绝的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力,先令士兵从1至3报数,然后记下最后一个士兵所报之数;再令士兵从1至5报数,也记下最后一个士兵所报之数;最后令士兵从1至7报数,又记下最后一个士兵所报之数;这样,他很快就算出了自己部队士兵的总人数,而敌人则始终无法弄清他的部队究竟有多少名士兵?因为《孙子算经》对这类问题的研究只是初具雏形,还远远谈不上完整,其不足之处在于: (1 )没有把解法总结成文,致使后人研究多凭猜测;

密码学及其研究现状(2014年)

密码学及其研究现状(2014年) {摘要}: 密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了。事实上,加密信息的安全可靠依赖于密钥系统,密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。{关键词}:密码技术安全网络密匙管理 密码技术是信息安全的核心技术。如今,计算机网络环境下信息的保密性、完 整性、可用性和抗抵赖性,都需要采用密码技术来解决。密码体制大体分为对称密 码(又称为私钥密码)和非对称密码(又称为公钥密码)两种。公钥密码在信息安全中 担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这 些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早 期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据 等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的 应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信 息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府 现用的密码编制及破译手段都具有高度的机密性。 进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它 们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱--按照 规定的图形和线路,改变明文字母或数码等的位置成为密文;代替--用一个或多 个代替表将明文字母或数码等代替为密文;密本--用预先编定的字母或数字密码 组,代替一定的词组单词等变明文为密文;加乱--用有限元素组成的一串序列作 为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单 独使用,也可混合使用,以编制出各种复杂度很高的实用密码。 当前,公钥密码的安全性概念已经被大大扩展了。像著名的RSA公钥密码算法、 Rabin公钥密码算法和ElGamal公钥密码算法都已经得到了广泛应用。但是,有些公

奥数 余数问题 中国剩余定理

被除数÷除数=商+余数(余数<除数) 同余定理1 如果a,b除以c的余数相同,那么我们说a,b对于c是同余的。并且我们说a,b之间的差能被c整除。(a b c三个数都是自然数) 例1:有一个大于1的数,除45,59,101所得的余数相同,求这个数可能是多少? 习题1:已知三个数127,99和一个小于30的两位数a除以一个一位数b的余数都是3,求a 和b的值. 同余定理2 a和b的积除以c的余数,等于a,b分别除以c的余数的积或者这个余数的积再除以c所得的余数。(a b c均为自然数) 例2:22003除以7的余数是多少? 习题2:??的积,除以4的余数是_____. 例3:今有一类数,除以3余数是2,除以5余数是3,除以7余数是2.试问这个类数最小那个又什么?(中国剩余定理) 分析:此题就是国际上有名的“中国剩余定理”,早在中国古代人们就中国人民就掌握了这种题型的解法。此题解法很多,在此介绍同余尝试法。在附录中有此种题型的一般解法。题目中给出的条件比较多,假如一开始就同时考虑三个条件,由于关系复杂很难一下子看出答案。所以应该先考虑其中的一个条件,进而考虑其中的两个条件,最后考虑三个条件,以求出最后答案。一般应该先考虑除数最大的那个条件,即找出除以7余2的数: 2 ,9 ,16 ,23,30,37,43,50,57…… 在此,我们必须在上面的数列中找出满足第二个条件的数,即除以5余3的数,显然, 23,23+5×7,23+5×7×2,23+5×7×3,23+5×7×4……以上数列都能满足前面两个要求。所以,能够满足‘除以7余2,除以5余3’这两个条件的数有 23,58,93,128,163,198,233,268,303,338…… 接下去,我们要继续考虑第三个条件,以上数列中满足除以3余数是2的数,显然 23,23+5×7×3,23+5×7×3×2,23+5×7×3×3…… 综上,我们发现 23,128,233,338,443…… 均能满足‘除以3余数是2,除以5余数是3,除以7余数是2’,其中最小的数是23。 以上的求解过程我们叫同余尝试法,难点在于尝试这个过程会导致计算量比较大,但是这种解题方法适应性强,条件可以无限制增加,方法不变。

中国剩余定理

中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国剩余定理。 注释:三数为a b c,余数分别为m1 m2 m3,%为求今年余计算,&&是“且”运算。 孙子定理 孙子定理 1、分别找出能被两个数整除,而满足被第三个整除余一的最小的数。 k1%b==k1%c==0 && k1%a==1; k2%a==k2%c==0 && k2%b==1; k3%a==k3%b==0 && k3%c==1; 2、将三个未知数乘对应数字的余数再加起来,减去这三个数的最小公倍数的整数倍即得结果。 Answer = k1×m1 + k2×m2 + k3×m3 - P×(a×b×c); P为满足Answer > 0的最大整数; 或者Answer = (k1×m1 + k2×m2 + k3×m3)%(a×b×c) ; 解题思路: 令某数为M,令素数为A,B,C,D,…,Z,已知M/A余a,M/B余b,M/C余c,M/D余d,…,M/Z余z。求M=? 因为A,B,C,D,…,Z为不同的素数,故,B*C*D*…*Z不可能被A整除,有等差数列(B*C*D*…*Z)+(B*C*D*…*Z)N中取A个连续项,这A个连续项分别除以A的余数必然存在0,1,2,

3,…,A-1,所以,从这A个连续项中能寻找到除以A余1的数。再用除以A余1的这个数*a其积必然除以A余a,这个除以A余a 的数,为能够被素数B*C*D*…*Z整除的数,为第一个数; 再按同样的道理,从A*C*D*…*Z的倍数中寻找除以B余b的数,该数具备被素数A,C,D,…,Z整除的特性,为第二个数; 因为,第一个数除以A余a,第二个数能被素数A,C,D,…,Z整除,即能被A整除,所以,第一个数+第二个数之和,仍然保持除以A余a; 同理,第二个数除以B余b,因第一个数能被B整除,所以,第二个数+第一个数之和,仍然保持除以B余b。即,第一个数+第二个数之和,为满足除以A余a,除以B余b。 依此类推,按上面的方法寻找到除以各素因子的余数的数之总和,为满足除以各素因子余数的条件的数。总和再减去能被这几个素数共同整除的数(A*B*C*D*…*Z)N后,其差仍然保持除以各素因子余数的条件的数。由此构成孙子定理的解法。 (中国剩余定理CRT)设m1,m2,...,mk是两两互素的正整数,即gcd(mi,mj) =1,i≠j,i,j = 1,2,...,k 则同余方程组: x≡b1 (mod m1) x≡b2 (mod m2) ... x≡bk (mod mk)

中国剩余定理在RSA算法中应用的 研究实验

中国剩余定理在RSA算法中应用的 研究实验 摘要 RSA算法中模数和运算效率之间一直存在矛盾,目前一些认证机构已采用模数为2 048 bit 的RSA 签名方法,这必然会影响签名效率。中国剩余定理对于提高RSA算法的模幂乘运算效率有显著作用,被广泛地应用在加速私钥解密和签名的运算上。在本文中,就中国剩余定理如何提高RSA算法的速度给出详细的描述。但是,直接使用中国剩余定理是不安全的,容易受到出错攻击,本文介绍了出错攻击的方式,并提出了对抗出错攻击的随机小素数改进方法。在此基础上,本文选取了一种四素数RSA算法进行阐述和简单实现,这种算法巧妙地利用了中国剩余定理将传统的RSA算法的速度提升了几倍。 关键词:RSA 、中国剩余定理、四素数、加密、信息安全

目录 中国剩余定理在RSA算法中应用的 (1) 研究实验 (1) 摘要 (1) 第一章引言 (1) 第二章RSA (2) 2.1RSA密码算法 (2) 2.2 RSA密码算法的实现步骤 (2) 第三章中国剩余定理在RSA算法中的应用 (3) 3.1中国剩余定理 (3) 3.2 RSA 中CRT 的引入 (3) 3.3使用中国剩余定理加速RSA算法效率的安全隐患分析 (4) 3.4使用随机小素数改进中国剩余定理对抗出错攻击的方法 (5) 第四章四素数RSA数字签名算法 (6) 4.1 四素数RSA 算法基本原理 (6) 4.2四素数RSA 算法在数字签名中的应用 (7) 4.3 中国剩余定理的应用 (7) 4.4算法对比 (8) 第五章四素数RSA算法的简单实现 (9) 5.1 密钥产生部分 (9) 5.2 加密解密部分 (10) 第六章总结 (13) 参考文献 (14)

相关文档
最新文档