首先要知道名词 费马小定理 同余理论 模反元素(inverse of modules)
费马小定理 同余理论 网上都有解释,我解释一下 模反元素
模反元素:一个与模数n互质的整数a,如果一个整数x满足ax≡1(mod n) 则可称为x为a对模数n之模反元素。
在java里 用这个modInverse函数就可以得到x为a对模数n之模反元素。
首先, 找出三个数, p, q, r,
其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数......
p, q, r 这三个数便是 private key
接著, 找出 m, 使得 rm == 1 mod (p-1)(q-1).....
这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了.....
再来, 计算 n = pq.......
m, n 这两个数便是 public key
正常的做法是先找出 p q 这样 n 就知道了。
然后自己设置一个publickey m。
这样 p q m n都知道了,求r。
// rm == 1 mod (p-1)(q-1),求r。
用 privateKey = publicKey.modInverse((p-1)×(q-1));
这样p, q, r,m, n都求出来了,我就可以对数据进行加密解密了
分享到:
- 2008-09-04 10:47
- 浏览 1170
- 评论(0)
- 论坛回复 / 浏览 (0 / 2529)
- 查看更多
相关推荐
根据提供的文件内容,以下是对Go语言学习笔记的详细知识点阐述。 Go语言是Google开发的一种静态类型、编译型、并发型,并具有垃圾回收功能的编程语言。它由Robert Griesemer、Rob Pike和Ken Thompson于2007年9月...
Go语言学习笔记.pdf 共174页 Go语言学习笔记.pdf 共174页是一本关于Go语言的详细学习笔记,涵盖了Go语言的基础知识、函数、数组、Maps、Structs、接口、并发、程序结构、标准库等方面的内容。本笔记共分为三大部分...
《信息安全工程师学习笔记》是针对软考中级信息安全工程师考试的一份详实的学习资料,这份压缩包文件包含了丰富的知识内容,旨在帮助考生系统性地理解和掌握信息安全领域的核心概念、原理和实践技能。以下将对这份...
Go+学习笔记所包含的知识点涵盖了Go语言的基础知识、编程范式、数据结构、并发处理、标准库使用以及进阶话题等多个方面,详细介绍了Go语言的学习路径和应用实践。 首先,Go语言的基础部分包括变量声明、基本类型、...
### Git与GitHub学习笔记知识点详解 #### 一、Git版本控制系统概述 **1.1 Git简介** Git是一款分布式版本控制系统,由Linus Torvalds在2005年开发,用于Linux内核的开发。Git的主要特点包括支持离线开发、强大的...
SSL双向认证学习笔记 本文档主要介绍SSL双向认证的一些知识,涵盖了基础知识、keytool命令、openssl安装等方面。 一、基础知识 SSL双向认证是指客户机和服务器之间的身份验证,双方都需要对彼此的数字证书进行...
首先,文档的标题“【_cjl***_book】 Go 学习笔记.pdf”暗示了这是关于Go语言(也称为Golang)的学习笔记。Go语言是由Google开发的一种静态类型、编译型语言,它具有简洁、快速、安全的特点,适合于网络编程和多核心...
在SHH学习笔记中,我们可能会涵盖以下几个关键知识点: 1. **SHH协议基础**:了解SHH的工作原理,包括客户端与服务器之间的通信过程,以及如何建立安全的连接。SHH使用公钥加密技术,其中客户端持有私钥,服务器...
### Python+学习笔记知识点概述 #### 一、Python 基本环境 1. **虚拟机**:Python 是一种解释型语言,通过Python虚拟机(PVM)来执行Python代码。虚拟机负责处理语言特性和底层硬件之间的交互。 2. **类型和对象**:...
### PKI学习笔记整理 #### 一、PKI基础知识概览 **公共密钥基础设施(Public Key Infrastructure, PKI)**是一种安全技术体系,用于管理数字证书以及加密和解密数据所需的密钥。PKI的核心组成部分包括认证中心(CA)、...
本文主要从不安全因素、网络安全技术、物理安全措施、密码学以及访问控制等多个方面阐述了网络安全的学习笔记。 首先,计算机网络的不安全因素主要由硬件和通信设施的脆弱性构成,包括自然环境的影响、人为破坏、...
### CTF Web学习笔记知识点详解 #### 杂项部分 **1. 隐写术** 隐写术是一种将信息隐藏于其他非秘密数据之中的技术,这种技术通常用于隐蔽通信或数据保护。在CTF竞赛中,经常出现的情况是将flag隐藏在图像、音频...
### Git学习笔记——入门篇 #### 一、Git简介与安装 **Git**是一种分布式版本控制系统,用于跟踪计算机文件的变化,并协调多个用户之间的共享工作。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理...
根据给定的学习笔记,我们可以提炼出关于RHCE6 Linux中SSH服务搭建的相关知识点: ### RHCE6 Linux中SSH服务的搭建 #### 1. SSH服务简介 - **定义**: SSH (Secure Shell) 是一种用于远程登录及其它网络服务提供...
ssh-keygen -t rsa # 在管理节点生成SSH密钥对 ssh-copy-id root@node1 # 将公钥复制到被管理节点 ``` 3. **默认资产清单配置** Ansible使用`/etc/ansible/hosts`文件作为默认的资产清单,其中定义了受管理的...
这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...
1. Header:包含类型(如JWT)和算法(如HMAC SHA256或RSA)。 2. Payload:有效负载,存储实际的用户信息,如用户ID、角色等,但不建议存储敏感信息,因为它是可解码的。 3. Signature:签名,用于验证Token的完整...