今天花了一下午的时间学习密码学的数论部分,下面将学到的内容进行一下总结,也算是加深记忆.我本身对密码学这方面比较感兴趣,而且本节出现了许多数学公式,使用刚刚学习的LaTex公式来呈现出来,练习练习,何乐而不为. 首先给出了群,交换群(阿贝尔群),环,交换环,整环,域的定义,大致如下图所示: 涉及到的第一个重要的新概念就是有限域$GF(p)$ Galois Fields 有限域的元素个数是一个素数的幂$p^n$,n为正整数,一般记为$GF(p^n)$,我们最为关注的只有两种情况:n=1即$GF(p…
摘要:本文讲解二维码纠错码字生成使用到的数学数论基础知识,伽罗瓦域(Galois Field)GF(2^8),这是手绘二维码填格子理论基础,不想深究可以直接跳过.同时数论基础也是 Hash 算法,RSA 算法等密码学的入门基础. 二维码生成算法最为核心的就是编码规则和纠错码字的生成.本篇专门讲解纠错涉及到的伽罗瓦域(Galois Field).本文内容大部分是阅读<密码编码学与网络安全>后参考相关 PPT 编写,如有遗漏或不严谨地方请参考专业书籍. 数论基础 整除,因数,素数 设 a , b(…
layout: post title: 「kuangbin带你飞」专题十四 数论基础 author: "luowentaoaa" catalog: true tags: mathjax: true - kuangbin - 数论 传送门 A - Bi-shoe and Phi-shoe(欧拉函数的性质) 题意 给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和. 思路 考察了欧拉函数的简单性质,即满足欧拉函数(k)>=N的最小数为N+1之后的第…
公钥体系(PKI)等密码学技术基础 公钥体系(Public Key Infrastructure, PKI)的一些概念 对称密码算法, 典型算法:DES, AES 加解密方共用一个密钥 加/解密速度快,但密钥在网络上分发比较困难,因为密钥在分发过程中可能被别人获取 哈希或散列函数(Hash), 典型算法 SHA, MD5 如果两个散列值是不相同的,那么这两个散列值的原始输入 也是不相同的 用于信息压缩,并发现信息是否发生变化 计算速度快,特定算法其结果长度统一 目前至少使用SHA256 非对称密…
本文作者:i春秋签约作家MAX. 凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密. 给大家先找两道题,来一起探讨基础密码学~ 下一题 看了看题目就是一个隐写术的题嘛  上神器ss 扫描一下我们看看flag不就出来了吗!! 下一题 一看就知道是AES加密先解密再说 提交答案错误 仔细观察,感觉可能用了凯撒移位 前5个字母按照flag的规律应是NSCTF,由此得到移位数 手工破解即可flag{NSCTF_Rot_EnCry…
目录 简介 BER编码 类型标识符 长度 内容 CER编码和DER编码 总结 简介 之前我们讲到了优秀的数据描述语言ASN.1,很多协议标准都是使用ASN.1来进行描述的.对于ASN.1来说,只定义了数据的描述是不够的,它还规定了消息是如何被编码的,从而可以在不同的机器中进行通讯. ASN.1支持一系列的编码规则,比如BER,DER,CER等.而X.690就是一个ITU-T的标准,它里面包含了一些对ASN.1进行编码的规则. 有人要问了,那么什么是ITU-T呢? ITU-T的全称是Interna…
#include<iostream> #include<cstdio> #include<cmath> #define ll long long using namespace std; int main() { int t; scanf("%d",&t); ;k<=t;k++) { ll n; scanf("%lld",&n); ll ans=n-(ll)sqrt((); printf("Case…
/* Author: wsnpyo Update Date: 2014-11-16 Algorithm: 快速幂/Fermat, Solovay_Stassen, Miller-Rabin素性检验/Exgcd非递归版/中国剩余定理 */ import random def QuickPower(a, n, p): # 快速幂算法 tmp = a ret = 1 while(n > 0): if (n&1): ret = (ret * tmp) % p tmp = (tmp * tmp) %…
LINK 其实就是三个板子 1.快速幂 快速幂,通过把指数转化成二进制位来优化幂运算,基础知识 2.gcd和exgcd gcd就是所谓的辗转相除法,在这里用取模的形式体现出来 \(gcd(a,b)\),因为b中的a对答案没有贡献,考虑把b变成\(b-(b/a)*a\)答案是一样的 所以就可以变成了\(gcd(b,a%b)\),保证大的数在前面,这样当小的数变成0,大的数就是最大公约数 exgcd就是解线性方程\(ax+by=c\) 有解的条件是\(c\%gcd(a,b)=0\) 然后考虑gcd的…
http://lightoj.com/volume_showproblem.php?problem=1370 欧拉函数: 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. φ(n)=少于或等于n的数中与n互质的数的数目. 一会专门写一个关于欧拉函数的的博客  先来说这一道题 这道题是欧拉函数的反面 给你一个φ(n)然后求n; 所以这道题我感觉是找规律 n=(φ(n)+1的第一个素数); #include<stdio.h> #include<string.h> #…