公钥密码体制又称公开密钥密码体系,公钥密码体制是现代密码学的最重要的发明和进展,在1976年,Whitfield Diffie和Martin Hellman发表了“New directions in cryptography”这篇划时代的文章奠定了公钥密码系统的基础。公钥密码体制根据其所依据的难题一般分为三类:大素数分解问题类、离散对数问题类、椭圆曲线类。

1:大数因子分解

具体说明:

Ⅰ)给定两个素数p,q,计算乘积p·q=n很容易;

Ⅱ)给定大整数n,求n的素因素p,q使得n=p·q非常困难.

大数因子分解是国际数学界几百年来尚未解决的难题,也是现代密码学中公开密钥RSA算法密码体制建立的基础。《大数因子分解的合数模式特性》从RSA算法存在的不动点中发现了素数因子的分布与特性以及它们之间的连接机制,据此将大数因子分解问题转化为在两个含有素数因子的数之间求公因子问题,将最困难的大数因子分解问题转化为一系列算法的初等数学问题,这无疑是研究大数因子分解的重要成果与进展。

2:离散对数

已知有限循环群G={g∧k∣k=0,1,2,...}及其生成元g和阶n=∣G∣.

Ⅰ)给定整数a,计算元素g∧a=h很容易;

Ⅱ)给定元素h,计算整数x,0≤x≤n,使得g∧x=h非常困难,其难度与RSA中因子分解素数之积的难度有相同的数量级。

3:椭圆曲线

已知有限域F_p上的椭圆曲线点群

E(F_p)={(x,y)∈F_p×F_p∣y²=x³+ax+b,a,b∈F_p}∪{O},

点P=(x,y)的阶为一个大素数.

Ⅰ)给定整数a,计算整数x,使得xP=(x_a,y_a)=Q很容易;

Ⅱ)给定点Q,计算整数x,使得xP=Q非常困难.

例3 P=10823是一个素数,有限域F_p=Z/pZ上的椭圆曲线点群

E(F_p)={(x,y)∈F_p×F_p∣y²=x³+3x+7}∪{O}, ∣E(F_p)∣=100482=2·3·16747.E(F_p)的生成元为P_0=(1,8811).点P=6P_0=(62046,14962)的阶为素数16747.

Ⅰ)给定a=1007,计算aP=(80726,17229)=Q很容易;

Ⅱ)给定点Q=(80726,17229),求整数x使得xP=Q很困难.

综上,理解数学原理可能比较烧脑,但是作为应用者来说,我们其实不需要完全掌握原理,我们只需要记住一点最重要的,即公钥密钥体系中,私钥的安全是最重要的,如果运行环境中没有相应的安全机制保护私钥,就必须使用加密芯片来存储私钥,包括私钥运算也要在加密芯片中执行,否则私钥泄露,整个安全体系就被攻破了。

参考资料:

《简明信息安全数学基础》,陈恭亮,高等教育出版社,2011年1月1日。

公钥密码的三大数学问题相关推荐

  1. 世界三大数学软件:MATLAB 2017-2019/Mathematica 11/Maple 2018-2019

    最近了解到哈工大.哈工程被禁用MATLAB这件事,想了想真挺无语的,你让这俩学校搞学术的工科生怎么办? 对于现在的工科生来说,MATLAB 算得上是必不可少的工具了,其必要性可能仅次于 Office ...

  2. Mathematica 和 MATLAB、Maple 并称为三大数学软件

    Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一 ...

  3. 世界近代三大数学难题之一费马定理http://lm2000i.bokee.com/viewdiary.12187540.html

    世界近代三大数学难题之一费马定理 费马在1665年去世的时候,他已经是欧洲最著名的数学家 了,被称为"数论之王".对于他,有两件事使人惊奇,第一,他是法学家,一生都在做官和议员,数 ...

  4. java 地图四色着色算法_继陈景润之后周立敬攻破世界三大数学难题之一:地图四色难题...

    地图四色问题又称四色猜想,与哥德巴赫猜想.费马猜想一起并称为为世界三大数学猜想.世界三大数学难题. 1965年5月,陈景润发表论文<大偶数表示一个素数及一个不超过2个素数的乘积之和>,最接 ...

  5. 三大数学博弈:巴什博奕 威佐夫博奕 尼姆博奕

    有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可.两个 人轮流从堆中取物体若干,规定最后取光物体者取胜.这是我国民间很古老的一个游戏 ,别看这游戏极其简单,却蕴含着深刻的数学原理 ...

  6. 你听过哥德巴赫猜想吗?不愧是世界近代三大数学难题之一啊(48)

    小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生. 和猫妹学Python,一起趣味学编程. 今日主题 什么是哥德巴赫猜想? 如何用验证100之内的数是符合哥德巴赫猜想的? 哥德巴赫 ...

  7. 对三大数学软件 Mathematica 、Maple 、MATLAB 的小测试比较

    今天一时兴起,突然想试试几个数学软件的功能,就测试了一个不定积分,看看哪个算得最好,最简洁. 计算: 以下计算结果我都一一验算了. 1).先在Mathematica(我用的是在线的wolframalp ...

  8. 2.哥德巴赫猜想是任何不小于4的偶数,都可以写出两个质数之和的形式。它是世界三大数学难题之一,至今没有被完全证明。编写一个多线程程序验证100000000以内哥德巴赫猜想是对的。

    java多线程实现: class Source{private int num = 4;private boolean flag = true;private static int res[]=new ...

  9. 数学各个研究方向简介

    1. 数论 人类从学会计数开始就一直和自然数打交道了,后来由于实践的需要,数的概念进一步扩充,自然数被叫做正整数,而把它们的相反数叫做负整数,介于正整数和负整数中间的中性数叫做0.它们和起来叫做整数. ...

最新文章

  1. 机器学习入门(18)— 卷积网络中的池化层实现
  2. 谷歌魔改Transformer登NeurIPS 2021!一层8个token更好用
  3. iometer测试工具
  4. python pip国内源
  5. Android Studio 使用Log
  6. AVL树----java
  7. /bin/bash^M: bad interpreter: No such file or directory
  8. vscode如何查看修改过的部分_编辑器 VS Code 如何快速查看 Go 接口?
  9. 将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小)
  10. onenote快捷键_onenote快捷键的高效用法
  11. Python 集合 day3
  12. 使用数据库引擎优化顾问添加建议索引
  13. 用好文本框间的链接功能
  14. QT IDE下载及安装(最新版本)
  15. 文件后缀名怎么修改?文件不显示后缀名怎么办
  16. Swift学习笔记 -- 枚举和结构
  17. ★如何解释特修斯之船问题? /编
  18. 计算机网络中的基本器件(网卡,集线器,交换机,路由器)
  19. l440加装固态硬盘ngff_联想L440笔记本电脑加装固态硬盘笔记
  20. Win10 启动consul服务

热门文章

  1. win10浏览器加载很慢_win10加载网页很慢_win10打开浏览器加载网页很慢处理技巧...
  2. CSS | 关于Spirit
  3. Swift - lazy 修饰符和lazy 方法
  4. Unity Editor修改分辨率
  5. 【宇通23届招聘内推】
  6. Unicode HOWTO 中文翻译
  7. 中高管职业生涯的挑战与机遇:如何在“中年危机”中突围?
  8. 使用scrapy +selenium爬取动态渲染的页面
  9. pmon下修改分辨率示范
  10. 亲自传授我的各种经典的篮球技术动作gif图