文档库 最新最全的文档下载
当前位置:文档库 › 公钥加密算法

公钥加密算法

公钥加密算法
公钥加密算法

实验五公钥加密算法—RSA

一、实验目的

通过使用RSA算法对实验数据进行加密和解密,掌握公钥加密算法的基本原理,熟练掌握RSA算法各功能模块的工作原理和具体运算过程。

二、实验原理

RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

1. RSA的密钥生成

RSA的算法涉及三个参数,n、e、d。

其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。鉴于现代对于大整数分解的水平不断增强,一般P、Q的取值都要求在1024位以上。

e和d是一对相关的值,e可以任意取,但要求e与(p-1)*(q-1)互质;再选择d,要求:

(e*d)mod((p-1)*(q-1))=1。

就是密钥对。一般将前者当作公钥,后者作为私钥使用。

2. RSA加密/解密过程

RSA加解密和解密的算法完全相同,设A为明文,B为密文,则:

A=B^e mod n;B=A^d mod n;

e和d可以互换使用,即:

A=B^d mod n;B=A^e mod n;

三、实验环境

运行Windows或Linux操作系统的PC机,具有gcc(Linux)、VC(Windows)等C语言编译环境。

四、 实验内容和步聚

1.根据本讲义提供的RSA程序,分析RSA算法的实现过程:

(1).利用:void GenerateKey(RSA_Key& PublicKey,RSA_Key& PrivateKey,unsigned int

iKeySize)函数根据实际需要生成符合要求长度的公钥和私钥,大致步骤如下:

a) 随机生成两个指定长度的大素数P,Q。

b) 计算N=P*Q,以及N的欧拉函数φ(N)=(P-1)*(Q-1)。

c) 随机生成一个与φ(N)互素的大整数E(公钥)。

d) 根据公式ed≡1(modΦ(N)),利用函数multi_inverse(1, Big*, Big, Big*)计算出

私钥D。

(2).将某个大整数赋值给一个Big型变量M(明文)。

(3).调用函数powmod(..,..,..,..)对明文M加密得到密文C。

(4).调用函数powmod(..,..,..,..)对密文C解密得到明文D。

(5).比较M与D是否一致,判断实验结果是否正确。

(6).调换公钥、私钥后重复以上步骤,验证e、d的可互换性,并思考为什么可以这样

做。

2.使用实例分析

取p=11,q=13。

首先计算:

n=pq=11×13=143

φ(n)=(p-1)(q-1)=(11-1) ×(13-1)=120

然后选择e=17,满足gcd(e,φ(n))=gcd(17,120)=1,然后根据ed≡1(modφ(N))计算d=113。则:公钥:<17,143>、私钥:<113, 143>。

设明文信息:m=24。对明文信息加密,得密文为:

c≡m^e % N=24^17%143=7

密文c经过公开信道发送到接收方后,接收方用私钥d对密文进行解密:

m≡c^d % N=7^113%143=24

从而正确地恢复出明文。

五. 实验报告要求

1.阐明RSA密钥生成以及加密、解密流程。

2.使用提供的模块编写RSA加密程序对数据进行加密和解密,提交程序代码和执行结果。

摩斯密码以及十种常用加密方法

摩斯密码以及十种常用加密方法 ——阿尔萨斯大官人整理,来源互联网摩斯密码的历史我就不再讲了,各位可以自行百度,下面从最简单的开始:时间控制和表示方法 有两种“符号”用来表示字元:划(—)和点(·),或分别叫嗒(Dah)和滴(Dit)或长和短。 用摩斯密码表示字母,这个也算作是一层密码的: 用摩斯密码表示数字:

用摩斯密码表示标点符号: 目前最常用的就是这些摩斯密码表示,其余的可以暂时忽略 最容易讲的栅栏密码: 手机键盘加密方式,是每个数字键上有3-4个字母,用两位数字来表示字母,例如:ru用手机键盘表示就是:7382, 那么这里就可以知道了,手机键盘加密方式不可能用1开头,第二位数字不可能超过4,解密的时候参考此

关于手机键盘加密还有另一种方式,就是拼音的方式,具体参照手机键盘来打,例如:“数字”表示出来就是:748 94。在手机键盘上面按下这几个数,就会出现:“数字”的拼音 手机键盘加密补充说明:利用重复的数字代表字母也是可以的,例如a可以用21代表,也可以用2代表,如果是数字9键上面的第四个字母Z也可以用9999来代表,就是94,这里也说明,重复的数字最小为1位,最大为4位。 电脑键盘棋盘加密,利用了电脑的棋盘方阵,但是个人不喜这种加密方式,因需要一个一个对照加密

当铺密码比较简单,用来表示只是数字的密码,利用汉字来表示数字: 电脑键盘坐标加密,如图,只是利用键盘上面的字母行和数字行来加密,下面有注释: 例:bye用电脑键盘XY表示就是: 351613

电脑键盘中也可参照手机键盘的补充加密法:Q用1代替,X可以用222来代替,详情见6楼手机键盘补充加密法。 ADFGX加密法,这种加密法事实上也是坐标加密法,只是是用字母来表示的坐标: 例如:bye用此加密法表示就是:aa xx xf 值得注意的是:其中I与J是同一坐标都是gd,类似于下面一层楼的方法:

关于密码学的发展和一些常见的加密算法

关于密码学的发展和一些常见的加密算法 1.悠久迷人的密码史话——密码学和密码 前言: 密码学(Cryptology,来源于希腊语kryptos和graphein,即隐藏和书写的意思)这门科学,或者说这门艺术,通常被分为两个部分,密码学(Cryptography)的任务是构建更为隐秘而且有效的密码,或者说加密方式;而与之相对应,密码分析学(Crypanalysis)则是研究已有的加密法的弱点,在没有密钥的情况下将密文还原成为明文。这两种科学相互依靠而不能分割,密码学家(Cryptologist)需要研习密码学来掌握加密方式,以便更好地解密;同样需要了解密码分析学,以判定自己密码的安全性高低。有一句话说的很好:“密码是两个天才的较量,败者将耗尽智慧而死。” 密码学产生的根本原因在于人们想要传递一些只有我们允许的接受者才能接受并理解的信息。被隐藏的真实信息称为明文(Plaintext),明文通过加密法(Cipher)变为密文(Ciphertext),这个过程被称为加密(Encryption),通过一个密钥(Key)控制。密文在阅读时需要解密(Decryption),同样需要密钥,这个过程由密码员(Cryptographer)完成。但是密码的传递并非绝对安全,可能有未得到允许的人员得到密文,并且凭借他们的耐心和智慧(我们通常假定他们有足够的时间和智慧),在没有密钥的情况下得到明文,这种方法称为破解(Break)。通常使用的加密方法有编码法(Code)和加密法(Cipher),编码法是指用字,短语和数字来替代明文,生成的密文称为码文(Codetext),编码法不需要密钥或是算法,但是需要一个编码簿(Codebook),编码簿内是所有明文与密文的对照表;而加密法则是使用算法和密钥。另外一种较常用的方法是夹带加密法(Steganography),顾名思义,它是将密文以隐藏的方式传递的,比如图画或是其它消息中,或是使用隐形墨水,在计算机能够进行图象和其它信息的处理之后,这种方法更是有了极大的发展空间。 密码的历史十分悠久。大约在4000年以前,在古埃及的尼罗河畔,一位擅长书写者在贵族的基碑上书写铭文时有意用加以变形的象形文字而不是普通的象形文字来写铭文,从而揭开了有文字记载的密码史。 公元前5世纪,古斯巴达人使用了一种叫做“天书”的器械,这是人类历史上最早使用的密码器械。“天书”是一根用草纸条、皮条或羊皮纸条紧紧缠绕的木棍。密信自上而下写在羊皮纸条上。然后把羊皮纸条解开送出。这些不连接的文字毫无意义,除非把羊皮纸条重新缠在一根直径和原木棍相同的木棍上,这样字就一圈圈跳出来,形成那封信。 公元前4世纪前后,希腊著名作家艾奈阿斯在其著作《城市防卫论》中就曾提到一种被称为“艾奈阿斯绳结”的密码。它的作法是从绳子的一端开始,每隔一段距离打一个绳结,而绳结之间距离不等,不同的距离表达不同的字母。按此规定把绳子上所有绳结的距离按顺序记录下来,并换成字母,就可理解它所传递的信息。 古罗马时代曾使用过一种“代替式密码”,把信中每个文字的字母都用字母顺序表中相隔两位后的一个字母取代,这种代替式密码直到第二次大战时还被日本海军使用。 此外,在古代还出现过一种被称为“叠痕法”的密码,使用时先把信纸折叠几下(上下及左右),然后铺平信纸,将传递的信息按顺序一个个分开,写在折

加密课件及视频的播放办法(非解密方法)

加密课件播放操作手册 一、播放环境要求: 1、畅通的网络,要能联系到微软网站 https://www.wendangku.net/doc/404570662.html,/en/us/default.aspx 2、xp以上操作系统,有Windows Media Player播放器(一般系统自带),并且能正常 运行。 3、一般暴风影音也可以播放,如果不能播放可以按照第2页的方法删除DRM组件即可! 二、播放加密课件 1、使用Windows Media Player播放影片或EXE文件直接播放,并且播放电脑需要连接internet网。点 击播放,如果没有弹出认证窗口,显示要升级DRM组件(Data Rights Management),则是DRM安全组件版本过低,系统会“停止”符号,再按“播放”符号。一般2-3次以内可升级成功。也可以点击MS安全组件升级或https://www.wendangku.net/doc/404570662.html,/Indivsite/zh-cn/indivit.asp。一旦用户升级后,以后就不用再升级。 升级成功后,开始获取许可证:

输入用户名和密码点“确定”,就会获取证书,(如果用户名错误或账号过期,请与导航办公室教务人员、 光盘部人员联系) 您好XX,请点击播放按纽播放 一般这样就OK了~!! 三、课件无法播放解决方法 1、双击文件播放,如果没有弹出认证窗口,显示要升级DRM组件(Data Rights Management),则是DRM 安全组件版本过低,系统会“停止”符号,再按“播放”符号。一般2-3次以内可升级成功。也可以点 击MS安全组件升级或https://www.wendangku.net/doc/404570662.html,/Indivsite/zh-cn/indivit.asp 2、升级drm组件时,请临时关掉计算机的个人防火墙,因为防火墙设置不当可能阻挡升级需要的信息。 3、升级时请将ie“工具”--internet选项--“安全”设置选项内的安全级别设置为“默认级别”即 安全级为中或低。 4、升级时请将ie“工具”--internet选项--“隐私”设置选项内的设置为“默认级别”。 5、个别校园网用户可能因为校园网与互联网接入处安装有防火墙,会阻挡系统升级信息,也可能造成不能 升级,此时你可尝试点击 ie的“工具”--“windows update”--看能否正常进行windows补丁升级, 不能升级则无法播放,请换其他网络播放。 6、网吧用户如不能正常升级,可能是网吧设置为普通用户,没有管理权限,请找网吧管理员处理。 7、当显示“证书中的日期无效或已过期”时,请确定播放电脑的系统时间,重新设置系统时间(双击屏幕 右下角时间设置 四、遇到的一些特殊情况和解决方法 使用Windows Media Player播放影片,出现播放错误该怎么办?(大多数情况都 可以按照该方法解决) 播放错误的画面文字提示: 1)播放错误Windows Media Player无法播放、同步或刻录受保护的文件,因为验证相关许可证时发生了错误。 2)Windows Media数字版权管理(DRM)组件遇到问题。如果您正在尝试使用从在线商店获取的文件,请到在线商店获取适当的使用权。 3)Windows Media Player遇到未知错误。

RSA加密算法_源代码__C语言实现

RSA算法 1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 RSA的安全性依赖于大数难于分解这一特点。公钥和私钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。 密钥对的产生。选择两个大素数,p 和q 。计算:n = p * q 然后随机选择加密密钥e,要求e 和( p - 1 ) * ( q - 1 )互质。最后,利用Euclid 算法计算解密密钥d, 满足e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q 不再需要,应该丢弃,不要让任何人知道。加密信息m(二进制表示)时,首先把m分成等长数据块m1 ,m2,..., mi ,块长s,其中2^s <= n, s 尽可能的大。对应的密文是:ci = mi^e ( mod n ) ( a ) 解密时作如下计算:mi = ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用( a ) 式签名,( b )式验证。具体操作时考虑到安全性和m信息量较大等因素,一般是先作HASH 运算。RSA 的安全性。RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA 就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前,RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解140多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。 由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。 */ #include #include #include

常见公钥加密算法有哪些

常见公钥加密算法有哪些 什么是公钥加密公钥加密,也叫非对称(密钥)加密(public key encrypTIon),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是目前商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥。 常见算法RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H)密钥交换协议中的公钥加密算法、EllipTIc Curve Cryptography (ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman 姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。 非对称是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。 如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。 如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。 对称密钥密码体制 所谓对称密钥密码体制,即加密密钥与解密密钥是相同的密码体制。 数据加密标准DES属于对称密钥密码体制。它是由IBM公司研制出,于1977年被美国

【CN110071795A】基于H264AVC视频编码特性的选择性加密方法【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910356798.6 (22)申请日 2019.04.29 (71)申请人 新疆大学 地址 830000 新疆维吾尔自治区乌鲁木齐 市天山区胜利路666号新疆大学本部 (72)发明人 胡知权 汪烈军 韩青青  (74)专利代理机构 济南鼎信专利商标代理事务 所(普通合伙) 37245 代理人 初敏敏 (51)Int.Cl. H04L 9/06(2006.01) H04L 9/08(2006.01) H04N 19/174(2014.01) H04N 19/46(2014.01) H04N 19/70(2014.01) (54)发明名称 基于H.264/AVC视频编码特性的选择性加密 方法 (57)摘要 本发明公开了基于H.264/AVC视频编码特性 的选择性加密方法,主要涉及移动通信视频加密 领域。包括步骤一:对视频数据进行编码分片;步 骤二:片特征参数提取;步骤三:动态密钥生成; 步骤四:利用动态秘钥对片特征参数进行加密; 步骤五:对加密后的视频效果进行分析。本发明 的有益效果在于:它能够很好的保护视频序列中 的隐私信息,以片为单位进行加密,片与片之间 相互独立,即使有一个片被破解也不会影响其它 片的信息,加密之后的视频序列没有比特增加, 符合原有的视频序列格式。权利要求书1页 说明书5页 附图3页CN 110071795 A 2019.07.30 C N 110071795 A

权 利 要 求 书1/1页CN 110071795 A 1.基于H.264/AVC视频编码特性的选择性加密方法,其特征在于,包括: 步骤一:对视频数据进行编码分片; 步骤二:片特征参数提取; 步骤三:动态密钥生成; 步骤四:利用动态秘钥对片特征参数进行加密; 步骤五:对加密后的视频效果进行分析。 2.根据权利要求1所述基于H.264/AVC视频编码特性的选择性加密方法,其特征在于: 所述步骤一中对视频数据进行编码分片是利用视频H.264编码本身携带的分片功能,在H.264视频编码结构中,编码后的视频由视频序列组成的,而视频序列又由一帧帧图像组成,一帧图像由一个片或多个片组成,一个片由一个或多个宏块组成,一个宏块由16×16的yuv数据组成,其中每个片之间是相互独立的,片的主要目的是为了限制误码的扩散与传播。 3.根据权利要求2所述基于H.264/AVC视频编码特性的选择性加密方法,其特征在于: 在分片时采用片的起始码,即当NALU对应的slice为一帧的开始起始码为0x00000001,否则起始码为0x000001的方式来分离各个片。 4.根据权利要求2所述基于H.264/AVC视频编码特性的选择性加密方法,其特征在于: 所述步骤二中片特征参数提取中的片参数特征为片中的重要语义元素,包括但不限于:帧内预测模式(IPM)、运动矢量差的符号(MVDs)、影响纹理信息的残差系数(RC)、Delta QP参数。 5.根据权利要求2所述基于H.264/AVC视频编码特性的选择性加密方法,其特征在于: 所述步骤二中片特征参数提取时利用JM8.6编码器中的trace_enc.txt文件对码流内容进行分析。 6.根据权利要求2所述基于H.264/AVC视频编码特性的选择性加密方法,其特征在于: 所述步骤三中的动态秘钥生成使用PRNG伪随机序列生成器生成动态密钥,所述PRNG有三个逻辑层,顶层是由16个单元构成的线性移位寄存器(LFSR),中间层用于位重组(BR),底层是非线性函数F。 7.根据权利要求2所述基于H.264/AVC视频编码特性的选择性加密方法,其特征在于: 所述步骤四中利用动态秘钥对片特征参数进行加密使用高级加密算法(AES)的密码反馈模式(CFB)对每个片中提取到的参数进行加密。 2

RSA公钥加密算法及其安全性讨论

RSA公钥加密算法及其安全性讨论 RSA algorithm for public-key encryption and its security 摘要:RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。但是,RSA的安全性依赖于大数的因子分解,却并没有从理论上证明破译RSA的难度与大数分解难度等价,即RSA的重大缺陷是无法从理论上把握它的保密性能到底如何。随着计算能力的不断进步和各种攻击方法的出现,RSA算法是否真的安全。 关键词:RSA,公钥,加密,大数分解,攻击,安全性 1 RSA加密算法 1.1公钥简介 密码体制按密钥类型分为对称密钥和不对称密钥。对称密钥即加密、解密用的是同一个密钥,又称为私钥。不对称密钥即公钥加密,加密、解密用的是不同的密钥,一个密钥“公开”,即公钥,另一个自己秘密持有,即私钥,加密方用公钥加密,只有用私钥才能解密——史称公钥加密体系:PKI。 1.2 RSA算法简介 RSA加密算法是一种非对称加密算法。RSA加密算法是Ron Rivest、Adi Shamirh和Len Adleman于1977年在美国麻省理工学院开发出来的,次年首次对外公开宣布,是第一个既能用于数据加密也能用于数字签名的算法。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是建立在“大整数的素因子分解是困难问题”基础上的,其安全性取决于大数分解,也就是大数分解质因数的困难性。换言之,对一极大整数做因式分解愈困难,RSA演算法愈可靠。假如有人找到一种快速因式分解的演算法的话,那么用RSA加密的信息的可靠性肯定会急剧下降,但找到这样的演算法的可能性是非常小的,今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。 1.3 RSA算法 1.3.1公钥和私钥的产生 假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她可以用以下的方式来产生一个公钥和一个私钥: (1)选两个保密的足够大的素数p和q。同时对p, q严加保密,不让任何人知道。 (2)计算N=p×q。 (3)计算f(n)=(p-1)(q-1)。 (4)找一个与f(n)互质的数e,且1

RSA加密算法的基本原理

RSA加密算法的基本原理 1978年RSA加密算法是最常用的非对称加密算法,CFCA 在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧张但是又想了解它的同事有所帮助。 RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Rivest,Adi Shamir,Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法。 RSA的安全基于大数分解的难度。其公钥和私钥是一对大素数(100到200位十进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。 RSA的公钥、私钥的组成,以及加密、解密的公式可见于下表: 可能各位同事好久没有接触数学了,看了这些公式不免一头雾水。别急,在没有正式讲解RSA加密算法以前,让我们先复习一下数学上的几个基本概念,它们在后面的介绍中要用到: 一、什么是“素数”? 素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。例如,15=3*5,所以15不是素数;又如,12=6*2=4*3,所以12也不是素数。另一方面,13除了等于13*1以外,不能表示为其它任何两个整数的乘积,所以13是一个素数。素数也称为“质数”。 二、什么是“互质数”(或“互素数”)? 小学数学教材对互质数是这样定义的:“公约数只有1的两个数,叫做互质数。”这里所说的“两个数”是指自然数。 判别方法主要有以下几种(不限于此): (1)两个质数一定是互质数。例如,2与7、13与19。 (2)一个质数如果不能整除另一个合数,这两个数为互质数。例如,3与10、5与26。(3)1不是质数也不是合数,它和任何一个自然数在一起都是互质数。如1和9908。(4)相邻的两个自然数是互质数。如15与16。 (5)相邻的两个奇数是互质数。如49与51。 (6)大数是质数的两个数是互质数。如97与88。 (7)小数是质数,大数不是小数的倍数的两个数是互质数。如7和16。 (8)两个数都是合数(二数差又较大),小数所有的质因数,都不是大数的约数,这两个数是互质数。如357与715,357=3×7×17,而3、7和17都不是715的约数,

公钥加密算法

公钥加密算法 一.简介 公钥加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 图1 非对称加密的简化模型 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。 甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。 非对称密码体制的特点:密钥管理简单,算法强度复杂、安全性依赖于算法与密钥;但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。 二.起源 W.Diffie和M.Hellman 1976年在IEEE Trans.on Information刊物上发表了“ New Direction in Cryptography”文章,提出了“非对称密码体制即公开密钥密码体制”的概念,开创了密码学研究的新方向。 三.基本原理 1.A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。 2.A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。 3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。

鹏程万里视频加密系统

鹏程万里视频加密系统 用户手册 版权所有

目录 1 引言 (2) 1.1 编写目的 (2) 1.2 术语和缩略词 (3) 2 软件概述 (4) 2.1 软件特点 (4) 2.2 加密及认证流程 (5) 2.3 软件运行 (6) 2.4 系统要求 (6) 3 系统使用 (7) 3.1 注册登录 (7) 3.2 主界面功能介绍 (9) 3.2.1 选择项目 (9) 3.2.2 视频加密信息填写 (10) 3.2.3 加密设置 (10) 3.2.3.1 快速加密 (11) 3.2.3.2 编码加密 (11) 3.2.4 认证模式 (11) 3.2.4.1 网络认证模式 (11) 3.2.4.2 离线认证模式 (11) 3.2.5 答题设置 (11) 3.2.5.1 不启用答题 (11) 3.2.5.2 启用简单数学答题 (11) 3.2.5.3 启用自定义答题 (12) 3.2.5.3.1 添加问题 (13) 3.2.5.3.2 编辑问题 (14) 3.2.5.3.3 单选题、多选题、简答题 (14) 3.2.5.3.4 回到上个问题、继续播放、关闭播放器 (14) 3.2.5.3.5 保存问题 (15) 3.2.5.4 绑定方式 (15) 3.2.5.5 其他设置 (16) 3.2.6 水印设置 (17) 3.2.7 信息管理 (17) 3.2.7.1 视频信息管理 (18) 3.2.7.2 网络授权管理 (19) 3.2.7.3 批量授权管理 (19) 3.2.7.4 离线授权生成 (20) 3.2.7.5 子账户管理 (21)

1 引言 1.1 编写目的 在互联网教育培训兴起的时代,讲师们正被视频教学盗版所侵害着,讲师辛辛苦苦录制的视频会被轻易盗版、贩卖,因此损失惨重。 鹏程万里视频加密系统是一款专业的视频加密软件,专门用来保护视频版权,本软件使用微软公司的 DirectShow 系统对视频文件进行重新编码后,采用 AES 256 位高强度逐帧动态加密,在传统文件加密中,采用的是静态加密,既两个相同的文件编码序列加密后的编码序列也是相同的,这样就给破解带来方便,本软件采用动态加密技术,可以保证文件加密后的编码序列具有唯一性,既两个相同的文件编码序列加密后的编码序列是不相同的,就像您的指纹或虹膜一样具有唯一性;加密后的视频文件同时具有哈希效验功能,可防止非法复制、破解和数据篡改,软件采用多线程视频编码技术,加密速度快。加密后的视频秘钥采用网络传输,为保证网络数据安全,本软件采用RSA加密算法对数据进行加密,以防止数据被拦截窃听。加密者还可以接入授权API功能,实现无人值守的视频销售系统。软件以站在用户角度思考,实现方便化,专业化,简洁化等一系列操作。无需任何专业的软件知识,即可轻松完成视频的加密及保护。

五种常用的数据加密方法

五种常用的数据加密方法.txt22真诚是美酒,年份越久越醇香浓型;真诚是焰火,在高处绽放才愈是美丽;真诚是鲜花,送之于人手有余香。一颗孤独的心需要爱的滋润;一颗冰冷的心需要友谊的温暖;一颗绝望的心需要力量的托慰;一颗苍白的心需要真诚的帮助;一颗充满戒备关闭的门是多么需要真诚这一把钥匙打开呀!每台电脑的硬盘中都会有一些不适合公开的隐私或机密文件,如个人照片或客户资料之类的东西。在上网的时候,这些信息很容易被黑客窃取并非法利用。解决这个问题的根本办法就是对重要文件加密,下面介绍五种常见的加密办法。加密方法一: 利用组策略工具,把存放隐私资料的硬盘分区设置为不可访问。具体方法:首先在开始菜单中选择“运行”,输入 gpedit.msc,回车,打开组策略配置窗口。选择“用户配置”->“管理模板”->“Windows 资源管理器”,双击右边的“防止从“我的电脑”访问驱动器”,选择“已启用”,然后在“选择下列组合中的一个”的下拉组合框中选择你希望限制的驱动器,点击确定就可以了。 这时,如果你双击试图打开被限制的驱动器,将会出现错误对话框,提示“本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系。”。这样就可以防止大部分黑客程序和病毒侵犯你的隐私了。绝大多数磁盘加密软件的功能都是利用这个小技巧实现的。这种加密方法比较实用,但是其缺点在于安全系数很低。厉害一点的电脑高手或者病毒程序通常都知道怎么修改组策略,他们也可以把用户设置的组策略限制取消掉。因此这种加密方法不太适合对保密强度要求较高的用户。对于一般的用户,这种加密方法还是有用的。 加密方法二:

利用注册表中的设置,把某些驱动器设置为隐藏。隐藏驱动器方法如下: 在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\E xplorer中新建一个DWORD值,命名为NoDrives,并为它赋上相应的值。例如想隐藏驱动器C,就赋上十进制的4(注意一定要在赋值对话框中设置为十进制的4)。如果我们新建的NoDrives想隐藏A、B、C三个驱动器,那么只需要将A、B、C 驱动器所对应的DWORD值加起来就可以了。同样的,如果我们需要隐藏D、F、G三个驱动器,那么NoDrives就应该赋值为8+32+64=104。怎么样,应该明白了如何隐藏对应的驱动器吧。目前大部分磁盘隐藏软件的功能都是利用这个小技巧实现的。隐藏之后,WIndows下面就看不见这个驱动器了,就不用担心别人偷窥你的隐私了。 但这仅仅是一种只能防君子,不能防小人的加密方法。因为一个电脑高手很可能知道这个技巧,病毒就更不用说了,病毒编写者肯定也知道这个技巧。只要把注册表改回来,隐藏的驱动器就又回来了。虽然加密强度低,但如果只是对付一下自己的小孩和其他的菜鸟,这种方法也足够了。 加密方法三: 网络上介绍加密方法一和加密方法二的知识性文章已经很多,已经为大家所熟悉了。但是加密方法三却较少有人知道。专家就在这里告诉大家一个秘密:利用Windows自带的“磁盘管理”组件也可以实现硬盘隐藏! 具体操作步骤如下:右键“我的电脑”->“管理”,打开“计算机管理”配置窗口。选择“存储”->“磁盘管理”,选定你希望隐藏的驱动器,右键选择“更改驱动器名和路径”,然后在出现的对话框中选择“删除”即可。很多用户在这里不

密码学实验-RSA公钥密码

实验报告 实验八、RSA公钥密码 实验目的: 熟练掌握RSA公钥密码算法原理及实现。 实验内容: 1、写出RSA公钥密码算法及其实现。 2、当取两素数分别为17、23,加密密钥为35时,写出其明文空间,并求出下列明文的密 文:1、15、17、23、48、235。 3、当取两素数分别为17、23,加密密钥为35时,求相应的解密密钥。 实验结果: 1.算法: Step1:选取两个大素数p和q,p和q保密 Step2:计算n=pq,f(n)=(p-1)(q-1),n公开,f(n)保密 Step3:随机选取正整数1 #include #include void main() { int i; double M,C,e,n,p,q,t; cout<<"请输入素数p:"; cin>>p; cout<<"请输入素数q:"; cin>>q;

n=p*q; t=(p-1)*(q-1); cout<<"请输入加密密钥e:"; cin>>e; cout<<"输入明文M:"; cin>>M; C=1; for(i=0;i

加密算法介绍及加密算法的选择

加密算法介绍及如何选择加密算法 加密算法介绍 一.密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。 使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 二.加密算法介绍 根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。 非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。 对称加密算法 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。 AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高; AES 2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种侯选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的AES。 Rijndael是在 1999 年下半年,由研究员 Joan Daemen 和 Vincent Rijmen 创建的。AES 正日益成为加密各种形式的电子数据的实际标准。 美国标准与技术研究院 (NIST) 于 2002 年 5 月 26 日制定了新的高级加密标准(AES) 规范。 算法原理 AES 算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。 AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。 AES与3DES的比较 非对称算法

RSA加密算法java编程实现

一、RSA加密算法的原理 (1)、RSA算法描述 RSA公钥密码体制的基本原理:根据数论,寻求两个大素数比较简单,而将他们的乘积分解开则极为困难。 (2)、RSA算法密钥计算过程: 1.用户秘密选取两个大素数p 和q,计算n=pq,n称为 RSA算法的模数,公开。 2.计算出n的欧拉函数Φ(n) = (p-1)×(q-1),保密。 3.从(1, Φ(n))中随机地选择一个与Φ(n)互素的数e作为加 密密钥,公开。 4.计算出满足下式的d 作为解密密钥,保密。 ed=1 mod Φ(n) (3)、RSA算法密钥: 加密密钥PK = |e, n| 公开 解密密钥SK = |d, n| 保密 (4)、RSA算法加密解密过程: RSA算法属于分组密码,明文在加密前要进行分组,分组 的值m 要满足:0 < m < n 加密算法:C = E(m) ≡me mod n 解密算法:m = D(c) ≡cd mod n (5)、RSA算法的几点说明: 1.对于RSA算法,相同的明文映射出相同的密文。

2.RSA算法的密钥长度:是指模数n的长度,即n的二进 制位数,而不是e或d的长度。 3.RSA的保密性基于大数进行因式分解很花时间,因此, 进行RSA加密时,应选足够长的密钥。512bit已被证明 不安全,1024bit也不保险。 4.RSA最快情况也比DES慢100倍,仅适合少量数据的加 密。公钥e取较小值的方案不安全。 二.RSA公钥加密算法的编程实现 以下程序是java编写的实现RSA加密及解密的算法 import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import javax.crypto.Cipher; //RSATest类即为测试类 public class RSATest { //主函数 public static void main(String[] args) { try { RSATest encrypt = new RSATest(); String encryptText = "encryptText";//输入的明文 KeyPair keyPair = encrypt.generateKey();//调用函数生成密钥对,函数见下 RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); byte[] e = encrypt.encrypt(publicKey, encryptText.getBytes()); //调用自己编写的encrypt函数实现加密, byte[] de = encrypt.decrypt(privateKey, e); //调用自己编写的decrypt函数实现解密, System.out.println(toHexString(e)); //输出结果,采用ASSIC码形式

公钥密码算法

公钥密码算法 学号:0900250114 姓名:李荣亮 摘要:古往今来,通信中的安全保密问题一直受到广泛关注。历史上,交战双方在通信安全、保密和密码破译方面的优势均被认为是取得战争胜利的关键因素之一。今天,随着互联网的发展,人类进入信息化时代,现代通信涉及各个行业,信息安全已成为人人都关心的问题,敏感信息的安全传输越来越受到人们的关注,这就促使密码学揭去了神秘的面纱,为更广泛的领域和大众服务。 一、公钥密码学概述。 公开密钥密码算法的提出是整个密码学历史上最大的而且也许是最唯一真 正的变革。从最初一直到现代,几乎所有密码系统都建立在基本的替代和置换工具的基础上。在用了数千年的本质上可以手算完成的算法之后,常规的密码学随着转轮加密/解密机的发展才出现了一个重大进步。机电式变码旋转软件使得极其复杂的密码系统被研制出来。有了计算机后,更加复杂的系统被设计出来。但是不管是转轮机还是后来的DES(数据加密标准),虽然代表了重要的进展,却仍然依赖于替代和置换这样的基本工具。 公钥密码学则与以前的所有方法都截然不同。一方面公开密钥算法基于数学函数而不是替代和置换,更重要的是,公开密钥密码学是非对称的,它用到两个不同的密钥,而对称的常规加密则只使用一个密钥。使用两个密钥对于保密通信,密钥分配和鉴别等领域都有着深远的影响。 公钥密码算法中的密钥依性质划分,可分为公钥和私钥两种。 用户或系统产生一对密钥,将其中的一个公开,称为公钥;另一个自己保留,称为私钥。 任何获悉用户公钥的人都可用用户的公钥对信息进行加密与用户实现安全信息交互。 由于公钥与私钥之间存在的依存关系,只有用户本身才能解密该信息,任何未受授权用户甚至信息的发送者都无法将此信息解密。 在近代公钥密码系统的研究中, 其安全性都是基于难解的可计算问题的。 如: (1)大数分解问题; (2)计算有限域的离散对数问题;

视频加密解决方案

视频加密解决方案 互联网的产生给我们的工作和生活带来了翻天覆地的变化。它为我们提供的信息交流平台给我们获取千里之外的信息提供的便利。由于互联网的联通特性,以互联网作为传播媒介的新的教学模式-远程教育也逐渐走进了人们的视线。远程教育突破了传统的限制于教室的面对面教育方式。由于现在很多学生甚至成年人都想在更加自由的时间和地点学习,这也就促使了远程教育的快速发展。而远程教育工作者的范围也由专业的学院教师无限拓展,许多在某一特定领域有见解有成就的非教育人士也能就自己的知识为其他人提供教学服务。而视频教学作为远程教学的一个重要部分,也被越来越多的人所接受。 对于原创教学视频的作者,如何能在自己的作品在被传递给学生的同时更好的保护自己的版权呢?要是视频被学生一传十十传百无限传播怎么办?更有甚者把你的视频冠上自己的标志转手卖给其他人,如此这般,你是选择忍气吐声还是用法律手段追究其责任?何不在视频这个根源上做保护措施以防止非法传播和翻录? 超时代原创教程视频商家提供了一系列的视频版权保护方案。与单纯的加壳保护不同,超时代视频加密软件采用256位AES加密变形算法,对视频进行了全方位的动态保护。其内置的Velon3.0数字加密引擎和超高清数字解码引擎是此软件的两大亮点。超时代根据商家的需求提供了不同版本的加密方案,这里简单介绍一下各个版本的区别: 视频加密软件可分为单机版,U盘防拷贝版,网络自动授权版,加密狗版,以及移动版等,我将着重为您介绍单机版,网络自动授权版和移动版。 单机版: 顾名思义,单机版也就是在本地机器上加密并授权的版本。这一版主要分为个人版,专业版,和企业定制版。个人版只可加密2G以内的视频,并且也只提供基本的防护,这一版的功能有比较大的限制,一般对加密强度和安全性能要求不高的商家才会选择这一款。专业版在个人版的基础上加强了加密强度,单个视频大小的限制也由个人版的2G提升到10G。最主要的是专业版的功能增加了不少。它允许商家控制视频的播放次数并且可以预先设置视频的有效截止日期。对于已有播放密码的某些用户,专业版还给商家提供了密码召回功能。专业版的便携式注册机也是一大特点。注册机不再将视频商家限制于本机器生成密码,它允许商家在任何机器上根据视频买家的机器码算出播放密码。一般的中小视频商家大多选择专业版。而超时代视频加密的企业定制版则是适用于对视频安全性要求极高的用户,这一版提供唯一的加密解密模板定制。当然企业定制版则对视频大小没有限制。这三版之所以成为单机版,是因为注册后的软件只能在1-2台机器上使用加密,这对于有的需要随时随地加密视频的商家来说是一大限制。因此,超时代视频加密软件在此基础上提供加密狗版,将软件已加密狗绑定,这样就可以在任意机器上加密视频啦! 网络自动授权版: 这一版就是在单机版的基础上为商家提供账户后台管理服务。网络版不需要视频商家一个一个的为视频买家算密码,而是把这些任务都交给后台管理。商家先根据各类视频制定好收费标准,视频买家在购买视频后,后台会在线验证并自动发送播放密码,买家只要在输入相应

相关文档