对称密钥

我爱java系列--【加密算法的介绍】

巧了我就是萌 提交于 2019-12-05 01:15:33
1.加密算法 加密算法种类有: 1.1.可逆加密算法 解释: 加密后, 密文可以反向解密得到密码原文. 1.1.1. 对称加密 【 文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥 】 解释: 在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊的加密算法处理后,使其变成复杂的加密密文发送出去,收信方收到密文后,若想解读出原文,则需要使用加密时用的密钥以及相同加密算法的逆算法对密文进行解密,才能使其回复成可读明文。在对称加密算法中,使用的密钥只有一个,收发双方都使用这个密钥,这就需要解密方事先知道加密密钥。 优点: 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 缺点: 没有非对称加密安全. 用途: 一般用于保存用户手机号、身份证等敏感但能解密的信息。 常见的对称加密算法有 : AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6、HS256 1.1.2. 非对称加密 【 两个密钥:公开密钥(publickey)和私有密钥,公有密钥加密,私有密钥解密 】 解释: 同时生成两把密钥:私钥和公钥,私钥隐秘保存,公钥可以下发给信任客户端. 加密与解密: 私钥加密,持有私钥或公钥才可以解密 公钥加密,持有私钥才可解密 签名: 私钥签名, 持有公钥进行验证是否被篡改过. 优点: 非对称加密与对称加密相比,其安全性更好; 缺点:

对称加密和非对称加密的区别

∥☆過路亽.° 提交于 2019-12-04 23:22:53
简介: 对称加密: 加密和解密的秘钥使用的是同一个. 非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。 对称加密算法:    密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,且对计算机性能要求也没有那么高. 优点:   算法公开、计算量小、加密速度快、加密效率高 缺点:   在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。 常见的对称加密算法有:   DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES 非对称加密算法:   公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:   甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开

密码 | 对称加密 - AES

北城余情 提交于 2019-12-04 20:00:49
AES 算法简介 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,用来替换原先的 DES. 背景介绍:1997年1月2号,美国国家标准技术研究所(National Institute of Standards and Technology: NIST)宣布希望征集高级加密标准(Advanced Encryption Standard: AES),用以取代DES。AES得到了全世界很多密码工作者的响应,先后有很多人提交了自己设计的算法。最终有5个候选算法进入最后一轮: Rijndael , Serpent , Twofish , RC6 和MARS。最终经过安全性分析、软硬件性能评估等严格的步骤,Rijndael算法获胜。 AES 算法的区块长度固定为128位(16 字节),密钥长度则可为128位,192位,256位。加密模式可采用 ECB,CBC,CTR,OFB,CFB 等模式进行加密。 其中 ECB 与 CBC 模式是对数据原文做加密处理,原文长度的必须为 16 或 16 的倍数方可加密成功,不足16倍数的部分则需进行 Padding 处理(Padding 方式为 PKCS5 Padding 或 PKCS7 Padding)。 CTR,OFB,CFB

2019-2020信息安全系统设计基础 20175306 20175309 20175326 实验二 固件程序设计

和自甴很熟 提交于 2019-12-04 17:41:51
2019-2020-1 20175306 20175309 20175326 实验二 固件程序设计 实验步骤 1-MDK 参考云班课资源中“信息安全系统实验箱指导书.pdf”第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身份运行uVision4,破解MDK(破解程序中target一定选ARM) File->License Management...->复制CID码->粘贴并选择“ARM”后再复制产生的LIC->将其粘贴回License Management的LIC框中->破解成功 提交破解程序中产生LIC的截图: 提交破解成功的截图 注意一定要用管理员身份运行uVision4,不然真的会失败!!!认真看好老师的任务细节!! 2-LED 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 - 代码分析 主函数: -SystemInit () 系统初始化; if(0 == GPIO_GetVal(0)) { BtApiBack(0x55555555,

python中的RSA加密与解密

北慕城南 提交于 2019-12-04 17:37:52
什么是RSA:   RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。   在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。   正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。   RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,截止2017年被普遍认为是最优秀的公钥方案之一。 SET(Secure Electronic Transaction)协议中要求CA采用2048bits长的密钥

无线路由AES与TKIP加密的区别

佐手、 提交于 2019-12-04 16:59:12
TKIP: Temporal Key Integrity Protocol(暂时密钥集成协议)负责处理无线安全问题的加密部分,TKIP是包裹在已有WEP密码外围的一层“外壳”, 这种加密方式在尽可能使用WEP算法的同时消除了已知的WEP缺点,例如:WEP密码使用的密钥长度为40位和128位,40位的钥匙是非常容易破解的, 而且同一局域网内所有用户都共享同一个密钥,一个用户丢失钥匙将使整个网络不安全。而TKIP中密码使用的密钥长度为128位,这就解决了WEP密码使用 的密钥长度过短的问题。TKIP另一个重要特性就是变化每个数据包所使用的密钥,这就是它名称中“动态”的出处。密钥通过将多种因素混合在一起生成,包括 基本密钥(即TKIP中所谓的成对瞬时密钥)、发射站的MAC地址以及数据包的序列号。混合操作在设计上将对无线站和接入点的要求减少到最低程度,但仍具 有足够的密码强度,使它不能被轻易破译。WEP的另一个缺点就是“重放攻击(replay attacks)”,而利用TKIP传送的每一个数据包都具有独有的48位序列号,由于48位序列号需要数千年时间才会出现重复,因此没有人可以重放来自 无线连接的老数据包:由于序列号不正确,这些数据包将作为失序包被检测出来。 AES:Advanced Encryption Standard(高级加密标准),是美国国家标准与技术研究所用于加密电子数据的规范

如何在NEO区块链上实现信息加密

时光总嘲笑我的痴心妄想 提交于 2019-12-04 16:58:58
你或许已经知道,区块链上的交易大多都是透明公开的,用户既可以直接通过RPC查询NEO节点,也可以使用NEOTracker或NEOScan等方便好用的区块链浏览器浏览交易记录、余额、智能合约或区块链上的其他数据。但是,开发某些应用时必须考虑到隐私性,通讯应用就是个典型的例子。如果你想给某人发送一条信息,你想必不希望其他人看到这条信息,因为其中可能包含一些敏感内容。本文笔者将分享一些NEO区块链信息加密的基本知识。 首先让我们再来研究一下NEO区块链交易的剖析图。 NEO交易 上图显示的是交易的基本内存结构。当用户在链上发送GAS或NEO时,钱包客户端就会创建这个数据包并向全网广播。如果你还想了解轻客户端创建或交易基本结构的详情,请参阅Andrei在Steemit上发布的《如何创建NEO轻客户端——区块链开发者的入门“毒品”》。 关于信息通讯,我们关注的只是紧随输入数据之后的元数据,但NEO交易还有一个鲜为人知的功能,即用户可以给任何交易附加交易属性。交易属性是一个广义的概念,基本上指额外的数据信息。所以用户在发送任意数量的NEO或GAS时都可以在交易属性域中附加信息。注:上述机制不适用于NEP-5代币资产。 例如我可以给我的朋友发送0.0000001个GAS并附上信息“你好”。尽管我举例说明的这则信息看似无关紧要,但它却能永久地存储在区块链上,且无法删除。但正如我之前所说的

2019-2020-1 20175307 20175308 20175319 实验二 固件程序设计

好久不见. 提交于 2019-12-04 16:36:35
2019-2020-1 20175307 20175308 20175319 实验二 固件程序设计 小组成员 20175307高士淳 20175308杨元 20175319江野 实验步骤 1.MDK 实验要求 0.注意不经老师允许不准烧写自己修改的代码 1.三人一组 2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3.提交破解程序中产生LIC的截图 4.提交破解成功的截图 实验步骤 下载并运行安装程序,安装MDK MDK安装结束页面,点击安装ULINK驱动 Ulink安装结束后自动退出,安装结束 运行uVision4,点击 文件>>许可证管理 ,复制CID 运行keil-MDK注册机,粘贴CID并选择 ARM ,点击 generate 生成 LIC 将生成的LIC复制到keil4中的LIC输入框中,点击 Add LIC ,破解完成。 2.LED 实验要求 0.注意不经老师允许不准烧写自己修改的代码 1.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验

RSA+AES请求组合加密

自闭症网瘾萝莉.ら 提交于 2019-12-04 16:26:29
基本概念 加密方式分为: AES(对称加密) 和 RSA(非对称加密) AES算法流程 发送方: 创建AES私钥,用口令对私钥加密 将加密后的私钥发送给接收方 用私钥加密明文,并将密文和加密后的私钥发给接收方 接收方: 解密这个私钥 用解密后的密钥把密文解密成明文 RSA算法流程 接收方: 创建RSA密钥对(公钥和私钥)公钥发给发送方,私钥存在接收方。 接收方用私钥对密文解密 发送方: 公钥对明文加密,将密文发给接收方 RSA+AES结合加密 接收方: 创建RSA密钥对(公钥、私钥)把公钥发给发送方,自己保存私钥 用RSA私钥解密加密后的AES密钥,并用AES密钥解密密文,得到明文 发送方: 创建AES密钥,并用AES加密明文,再用RSA公钥加密AES密钥,并把加密后的AES密钥和密文发送给接收方 Android RSA+AES加密过程 Android: 生成AES密钥,并用AES密钥对明文加密 使用RSA公钥将AES密钥(aesKey)加密成encryptAesKey,作为HTTP请求头 将AES加密明文后的密文(encryptData)作为请求体,将请求体和请求头一起发给sever sever: 生成RSA密钥对(公钥、私钥),提供接口给客户端,发送公钥 获得AES加密后的 请求头(encryptAesKey) ,获得加密后的 请求体(encryptData)

对称加密和非对称加密

好久不见. 提交于 2019-12-04 13:21:52
对称加密(symmetrical encryption)   采用单钥 密码系统 的加密方法,同一个 密钥 可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单 密钥加密 。   常用算法:在对称加密算法中常用的算法有: DES 、 3DES 、TDEA、 Blowfish 、RC2、RC4、 RC5 、 IDEA 、SKIPJACK等。   算法特征   1、加密方和解密方使用同一个密钥;   2、加密解密的速度比较快,适合数据比较长时的使用;   3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦; 非对称加密(Asymmetric encryption)   而 非对称加密算法 需要两个 密钥 来进行加密和解密,这两个密钥是 公开密钥 (public key,简称公钥)和私有密钥(private key,简称私钥)。   工作原理:   1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。   2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。   3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。     在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。     同样,如果乙要回复加密信息给甲