密码学
宋你一袋馒头
相信美好的事情总会发生
展开
-
仿射密码的解密(Java实现)
原理:仿射密码:设两个整数α和β,及gcd(α,26)=1,加密过程:x → αx+β (mod 26)解密过程:x → α*(x-β) (mod 26) 其中α•α*= 1(mod 26)这种加密方法的密钥就是一对(α,β),对gcd(α,26)=1中的α有12种可能的选择,对β有26种选择(因为用mod 26来计算,所以仅需要考虑介于0~25之间的α和β,因此密钥值一共有12•26=...原创 2018-10-19 20:08:55 · 3070 阅读 · 0 评论 -
AES算法
AES 算法链接转载 2018-11-03 16:57:40 · 178 阅读 · 0 评论 -
实现椭圆曲线上离散对数问题的求解
密码学实验课的题目,分享一下自己的代码,可能不够完美,供参考~自己动手才是王道哦!一、实验目的掌握椭圆曲线上的加法定律;熟练求解椭圆曲线上的离散对数问题。二、实验原理(1)有限域GF§上的椭圆曲线:对于固定的a和b,满足形如方程y2≡x3+ax+b(mod p) ( a,b,x,yGF§且4a3+27b2(mod p)≠0).(2)椭圆曲线Ep(a,b)上的加法定义如下:设P,...原创 2019-01-15 11:41:51 · 5432 阅读 · 3 评论 -
生日攻击实现离散对数问题的求解(C++)
!!!生日攻击是个概率性问题,以下代码可能只能实现部分离散对数求解问题,通过修改随机数种子可能会解决不同的问题…// BirthdayAttack.cpp : 定义控制台应用程序的入口点。//生日攻击#include "stdafx.h"#include <iostream>#include <cstdlib>#include <cmath>us...原创 2019-01-15 11:52:18 · 1551 阅读 · 0 评论