密码学
文章平均质量分 68
风澜舞
断剑重铸之日,骑士归来之时。
展开
-
Java实现Merkle-Hellman背包密码体制
背包密码体制是基于“子集之和问题”的难解性,开发出来的公钥密码体制。在解释这个加密算法之前,先解释下,超递增整数集:通俗来说,当一个有序集合的每一个整数都大于他们前面的整数之和,这个集合就是超递增整数集。比如:有序集{3,5,11,20,41,81,167,339}就是超递增整数集。另一个需要了解的知识就是:逆元,逆元的解释以及求法请戳下面链接: https://www.cnb...原创 2018-11-12 17:23:12 · 910 阅读 · 0 评论 -
RSA加解密算法实现
加解密原理一,生成公钥和私钥1,找到两个大素数盘p, q(并且中间相隔比较远)2,计算n = p*q(计算完这步后,就可以将p,q丢弃)3,计算 fan_N = (p-1)*(q-1)4,选择e,使得e与fan_N互素,并且小于fan_N,5,计算d, 并且满足d*e mod fan_N = 1 且 d < 160经过上述几步:就可以得到公钥PU = {e...原创 2018-12-20 12:41:57 · 5780 阅读 · 2 评论 -
椭圆曲线在Fp域上的加密(python实现)
椭圆曲线加密(python实现)最近在上现代密码学,对椭圆曲线进行了一番了解,进行了实现椭圆曲线的基本原理可借鉴这篇博客通过查阅书籍,整理了下加密原理,如下:自己实现了一下,直接上代码# -*- coding: utf-8 -*-"""ECC在Fp域上的加解密"""def get_inverse_element(value, max_value): ...原创 2018-12-17 18:16:06 · 6680 阅读 · 6 评论 -
C语言实现RC4加密算法
加密原理Rc4加密步骤1、先初始化状态向量S(256个字节,用来作为密钥流生成的种子1)按照升序,给每个字节赋值0,1,2,3,4,5,6…,254,2552、初始密钥(由用户输入),长度任意如果输入长度小于256个字节,则进行轮转,直到填满例如输入密钥的是1,2,3,4,5 , 那么填入的是1,2,3,4,5,1,2,3,4,5,1,2,3,4,5…由上述轮转过程得到...原创 2019-03-16 17:40:11 · 21602 阅读 · 14 评论