网站建设公司发展建议,手机网页视频怎么下载,南昌网站建设工作室,服务器安装网站一、课题描述
三位同学一组完成数据的非对称加密和数字签名验证传输。 三位同学分别扮演图中 Alice、Bob 和 CA 三个角色#xff0c;Bob 和 Alice 从 CA 中获得数字证书、Bob 向 Alice 发送秘密发送一段加密并签名后的信息#xff0c;Alice 获取 Bob 发送的加密信息#x…一、课题描述
三位同学一组完成数据的非对称加密和数字签名验证传输。 三位同学分别扮演图中 Alice、Bob 和 CA 三个角色Bob 和 Alice 从 CA 中获得数字证书、Bob 向 Alice 发送秘密发送一段加密并签名后的信息Alice 获取 Bob 发送的加密信息解密得到明文并验证信息的完整性签名验证。
1.公开密钥算法加密传输 2.公开密钥算法签名认证 3.公开密钥算法证书注册认证和获取 答案中给出 Alice、Bob 和 CA 的各自使用的公钥、私钥、以及发送的信息、签名的信息、加密后的密文数据解密后的数据和签名完整性验证结果。 题目完成过程中可以多轮角色互换进行操作通信过程。
其中一轮过程要求发送的报文 m三位同学的姓名和学号等基本信息”非对称加密算法选用 RSA报文摘要算法采用 MD5。
题目完成过程中加密算法可以直接使用现有的软件也可以使用编程软件调用有关 API 实现良好以上3当然自己直接实现一个算法将是非常值得表扬的该题直接优秀。
二、题目解答有关基本信息说明 角色 扮演者学号 扮演者姓名 Alice 2009124039 hkx Bob 2009124037 Zll CA 中心 1818064057 yjt 发送的消息 hkx2009124039yjt1818064057zll2009124037 使用的有关加密工具
RSA 密钥对生成及 RSA 加密解密 RSA公私钥分解 Exponent、ModulusRsa公私钥指数、系数(模数)分解--查错网MD5 计算HashCalc 或 hashmyfiles-x64。
其它可选CrypTool1 或 CrypTool2 或 OpenSSL 或 Java KeyTool
注答案中实现的是 Alice 向 Bob 发送加密和签名信息与题目中的要求相反。
1.生成公钥私钥密钥对
1.1 生成密钥对方法手工计算密钥对 参数 取值 要求说明 p 0x17603 p 和 q 为两个不相同的大素数也是大整数 N 的两个因子factor。 q 0x7C73 np*q 0xB5D17759 大整数 n 的二进制长度即为密码算法的强度称之为模数modulus z(p-1)*(q-1) 欧拉函数φ(n) (p-1)*(q-1) e 0x10001 ez,且 e 与 z 互质无公因素 可取 e3 或 e65537(2^161) (0x10001) d 0x6F7FD5 e*d mod [(p-1)*(q-1)]1 公钥 (n, e) (0xB5D17759,0x10001) 公开 私钥 (n, d) (0xB5D17759,0x6F7FD5) 保密
使用 RSA-Tool 2 工具生成密钥对 此处生成的密钥直接得到的是 RSA 中的(ne)和nd。
使用在线工具生成
在线生成非对称加密公钥私钥对、在线生成公私钥对、RSA Key pair create、生成RSA密钥对--查错网 此处生成的密钥将公钥(ne)、私钥nd使用 ASN.1 标准的 TLV 格式编码为二进制再转换为 Base64 格式依据 pkcs#8 标准格式编码封装。在线工具中提供了根据 pkcs#8 格式公私钥分解为(n,e) 即 RSA 公私钥指数Exponent、模数 Modulus 功能。 1.2 生成有关密钥对
CA 中心密钥对生成
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHgLN9zPp5KCE7KrEELx/CMapD
yAyVqVrtIxG9cT6sygjeL9jFOU3ZG3szCaqvTQ82wHbdKW0Xa6gHSKiXdwn2eL5i
t/AECPolUCqAt70WfpusMkXWk5tY5O2zqVicc9gujvN6vxL2wjSN/lZGNr6Aymc9
8oRXKq3Q79RRFt8Z5wIDAQAB
-----END PUBLIC KEY----- -----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMeAs33MnkoITsq
sQQvH8IxqkPIDJWpWu0jEb1xPqzKCN4v2MU5TdkbezMJqq9NDzbAdt0pbRdrqAdI
qJd3CfZ4vmK38AQIiVQKoC3vRZm6wyRdaTm1jk7bOpWJxz2C6O83q/EvbCNI3
VkY2voDKZz3yhFcqrdDv1FEW3xnnAgMBAAECgYEAnXzctIdWhsQGD6Xw3UOyB2Ob
bCyEurRZQe4NlsqRc6rV3Jf5bkJ2kRWagDMi9wCEY3hXkJVD65Ax75b7AZ3OEm
NjHrkN9Oa8SePX9xK28pK0uHO4BmWTM8ucg2n3MNtf1QBSVur4NKUgHdArMiTKm
6pga8YNkoWqY8jbqgckCQQDvhFRrUHcL9RX3vnNw4zDJB882ILr/fvrMawggMPl
UbfWZz4HNZI/ou4JJPHeUrxzQrKRakw7yelDRuRmeMTAkEA1TtswbN5PUrsjW6w
a3M4yeTJG8fK0R2fWM/TKqezbnEksTG1PBgVLNSJf0oxPvSW6Ung0HUMYc5cEK4
mf143QJAWqS31g0ToIDWGXYH9jbkpY/BCXkFi9gRnBTJGRSvpxYeFmGDfBmMpMU
hn1m0354Nx6MuZCzjWxg3Z2xZj5QJATv6X2N67YJicL/08wGHMPQdT9cW7fmMC
AG3lphzAnX6vADIRGTU2ywfmIcXGz8sW8Dqr7VsffjBr7QYHXxIxQJBAOQvduWE
xwkfczetJ7oxFPW0vzD14UYy9DOoyx0Rh9PlctasrT87IVKGXQ4X/4BD4lQ2jbsr
7w7chGnhVooWWoA
-----END PRIVATE KEY----- Alice 密钥对生成
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADyTeQQMFps81uYsJsubsxxHX
9Lmu1YzCFg53a0gqsQJW4nfuAah1weX5g6D9XuZBPs9RTUQN2dNb1c2rP82qwjAk
p59w/3oXUXP/6wqyVx8FuUQvbGI6HMqI7YoA9BhgxhKiJ2NGP7fpqxhwCLljSR
oyFWBNmTSDaRhtJxQIDAQAB
-----END PUBLIC KEY----- -----BEGIN PRIVATE KEY-----
MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMAPJN5BAwWmzzW5
iwmy5uzHEdf0ua7VjMIWDndrSCqxAlbid4BqHXB5fmDoP1e5kEz1FNRA3Z01vV
zas/zarCMCSnn3D/ehdRc//rCrJX7HwW5RC9sYjocyojtigD0GGD7GEqInY0Y/t
mrGHAIuWNJGjIVb4E2ZNINpGG0nFAgMBAAECgYEAq1xXvt4uvhopg3v7LDothFHR
/dgzTfIkVtwqOhVyZGJzs/dxcRA9GBuvPQ7oB/3PMXsyjHcbxKswOr8LpqZF
Avr3V3omZYq2Cn/cmZlZQxqEAcVAEkn3n9UNe7XE4mRcwkqkMDZvcVA3VPOjNld9
ApffMOsChF1Mqgsg/kCQQDhMB6COak/xeNVcVb0GDkctPgr7aZ5YdRumCkEJmv
r7zuGcMD4QF/vpdUK1kSJ3a/FwfNClyaYZOoyCn67AkEA2laW4iHiU1t9A3sp
97Z/Q7KbBqXuJQbZHG3VyJWJnwPlai79Ytd9JTpuCBbzjRekTPE9iM8F/2lISgF
Y4QRfwJBAJ/PdHda0IBPwewrSVhlsHJtBAq414IhKY9rMQE0JG2IPH8jjo4CnOFc
ePWsgcE/v7dfjUkfzaJCvWwl7X1upG0CQFqPlc/vC9VADpkaJjdclXzDAgq5Oco
uv7ms8iZ9dYlI8dZG4N8VNyusLGcS3LXPofHe/112QgCdEB15JaYiMCQQDDKRJC
prDX7zhRF7l2QIbkZFpnTTVxjDZWuWgq7qE9Z3WMpoAMX72EUrDUu8lZBIV60G
xEf7EXGUOw0El93j
-----END PRIVATE KEY----- Bob 密钥对生成
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6RCjSPPEqUa0QAP5KETBa5OEK
HQmSKnrAmtYtKvlvPQHFFLzjr5ivEJOLZ63aL2m3KEgAEtbFu6yAiBAHOFtPh
RtM5doigoeeGIkbjVFd/UVxKSYNgBhN0RwmqD6alT0ngAYJtTB1lB2w4m28fZ/
m7wytuYOj1BBH6rPQIDAQAB
-----END PUBLIC KEY----- -----BEGIN PRIVATE KEY-----
MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALpEKNI88SpRrRAA
/koRMFrk4QodCZIqesD76a1i0qW89Af4UUvOOvmK8Qk4tnrdovabcoSAAS1sW7r
ICIEAc4W0FG0zl2iKCh54YiRuNUV39RXEpJg2AGE3RHCar4PpqVPSeABgm1MHWU
HbDib7bx9nbvDK25g6PUH4Efqs9AgMBAAECgYAtR/yUf3QxUYG87kDjSKJ0tkdu
6fg1rFYDLDp2iBunzA6hfd6Jrx0rW90v5bewOmmrPgKKqS2P94uW51n8avT09gO/
WonrMsdccHm1bYmc9aGcIEggyPTgWRi3BoAHkKnEY8YikmnmEmfX/TTnPJsuG
FVlP5smGyqTkuxjVgQJBAPStrotoRqJbfeFeaqmaoMNyo2rNjtENvYlXV/GoVG/d
kdSigLyL2HzX8xFh8oE8CFIQpYXNPJ7Q2Xph/N/0SpUCQQDC4oR8J4BWyWgu11
QCZh5QPk5LalURW7xPUL4njGtQ3AORJQiAp6QYPN9Jrp1CqIloZS38XSxf9YvrH9
kNwJAkB5Ru1RJCppyLJ5mawEnjE57mgYqr7a/gabzSkD29q00RJRRLSYe64UsGk
SAxPilYFd0LUA1qczaATPtudkPRAj8qoWTGh9wIkocuZXWMMHw07ePsLhvGDfaz
HGJNww0a2aWpeVbuGaSV8J9SwSYIdEsD8FSX6DmemlhAFXvIcECQQCGHUgFcfo
X4RT/sxm8z0BWfJKm4gNLWO31bo242M6Xt/PLSR6ch6nPfmO7nTJDlC78K8zEoyv
fdrb/O8TMgah
-----END PRIVATE KEY-----
2.公钥签名认证
2.1 签名的具体内容信息
签名认证的信息不能仅仅是对公钥进行签名还应该包含一些其它信息如公钥的
所有者签名的有效期和签名者的信息等。 签名包含的内容项目 含义及取值 公钥拥有者名称 公钥算法 RSA 公开的公钥 签名有效期 开始时间—结束时间 签名者名称 签名的摘要算法 MD5 签名的加密算法 RSA 签名信息
2.2CA 中心对自己的公钥进行签名认证
1签名认证的内容CSR 公钥拥有者名称:CA 公钥算法:RSA
签名有效期:2020/10/1-2030/10/1
签名者名称:CA 签名的摘要算法:MD5
签名的加密算法:RSA 公开的公钥:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjQB5T7zmoFfDoaKi3HJQiPBK7
qiqUjplWyIrR10VBv0y1yAJB4lfwYvICeoMC8B5A9URujTvbAw8/RSjVAyr2Bepy
95HmOmPamxLEv4Z66myY63d7nNMrqP2MShTEFsoKykIEy7Z605mx5e1YoVnCI0c
xHLLGC125EKCdgyEzQIDAQAB
-----END PUBLIC KEY----- 注意因为涉及到中文字符一定注意字符编码格式此处文件使用的 UTF-8 格式。
2签名认证的内容CSR即证书信息的 MD5 值 342c6f33c98c2d9db2319f8766efb5e2
使用的 HashCalc 和 hashmyfiles-x64 两个软件进行计算结果一样。
3对 MD5 值使用 CA 的私钥进行加密签名值BASE64 编码 mBU2Gl5LUkxCnyfUWufVgbzJGbtCIbdAjzdLiMSAm0j3PmKPm5uK7IwlfKJmFvbGtg3IeWVBdaK/mxWUpOAKhDL1D36WlfElmWGxj3G08/1kvYy5reRMtsRqWYnb0s2mGiMXuLkTNbnubmkYT3pQz9gI3KTSIiD9fdR3pNF5k
使用的在线工具 在线RSA公钥加密解密、RSA public key encryption and decryption--查错网 进行操作得到。
4)CA 中心根证书内容 公钥拥有者名称:CA 公钥算法:RSA
签名有效期:2020/10/1-2030/10/1
签名者名称:CA 签名的摘要算法:MD5
签名的加密算法:RSA 公开的公钥: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrFQjPWcbPR3gEbCmoVkRahu4Z gHMw7d3ZpQNXltLzKzG5qPyxPdv/lhiT8TwSi8klVHl7Rtj2mnzRZvVtP/mjWmJ HfXoKr900ZKlYg/PdDkyAJbpTCxErjJ7DO3AD2jHeG5Ajp8UvEDV3saGyDoAhWy
JK43HAe5ZYnTnnfIwIDAQAB
-----END PUBLIC KEY----- 签名 mBU2Gl5LUkxCnyfUWufVgbzJGbtCIbdAjzdLiMSAm0j3PmKPm5uK7IwlfKJmFvbGtg3IeWVBdaK/mxWUpOAKhDL1D36WlfElmWGxj3G08/1kvYy5reRMtsRqWYnb0s2mGiMXuLkTNbnubmkYT3pQz9gI3KTSIiD9fdR3pNF5k 2.3CA 对 Alice 的公钥进行签名认证
1签名认证的内容CSR 公钥拥有者名称:Alice 公钥算法:RSA
签名有效期:2020/10/1-2021/10/1
签名者名称:CA 签名的摘要算法:MD5
签名的加密算法:RSA 公开的公钥: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADyTeQQMFps81uYsJsubsxxHX
9Lmu1YzCFg53a0gqsQJW4nfuAah1weX5g6D9XuZBPs9RTUQN2dNb1c2rP82qwjAk
p59w/3oXUXP/6wqyVx8FuUQvbGI6HMqI7YoA9BhgxhKiJ2NGP7fpqxhwCLljSR
oyFWBNmTSDaRhtJxQIDAQAB
-----END PUBLIC KEY----- 2签名认证的内容CSR即证书信息的 MD5 值 0d13be1426befa4a945d984913d79c07 3对 MD5 值使用 CA 的私钥进行加密签名值BASE64 编码 KRi5jSjgFvwvqY7YAIcpSsOkkBrdF1ZjmQx6J0p1LHX5gNIefiVpIk3lx3SzymqMHH3aSNV7iyjiZUbxkO7P02gYeJkunby3k27Yri40dhgxwDdLGAcqKosEgXe/wgGMqFtkyB4B4FuEAaVz5Zv1H1v1Bk6i4yvgAhEf4Alice
4公钥证书内容
公钥拥有者名称:Alice 公钥算法:RSA
签名有效期:2020/10/1-2021/10/1
签名者名称:CA 签名的摘要算法:MD5
签名的加密算法:RSA 公开的公钥: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDADyTeQQMFps81uYsJsubsxxHX
9Lmu1YzCFg53a0gqsQJW4nfuAah1weX5g6D9XuZBPs9RTUQN2dNb1c2rP82qwjAk
p59w/3oXUXP/6wqyVx8FuUQvbGI6HMqI7YoA9BhgxhKiJ2NGP7fpqxhwCLljSR
oyFWBNmTSDaRhtJxQIDAQAB
-----END PUBLIC KEY----- 签名
KRi5jSjgFvwvqY7YAIcpSsOkkBrdF1ZjmQx6J0p1LHX5gNIefiVpIk3lx3SzymqMHH3aSNV7iyjiZUbxkO7P02gYeJkunby3k27Yri40dhgxwDdLGAcqKosEgXe/wgGMqFtkyB4B4FuEAaVz5Zv1H1v1Bk6i4yvgAhEf4 2.4CA 对 Bob 的公钥进行签名认证
1签名认证的内容CSR 公钥拥有者名称:Bob 公钥算法:RSA
签名有效期:2020/10/1-2021/10/1
签名者名称:CA 签名的摘要算法:MD5
签名的加密算法:RSA 公开的公钥: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKM9Zr89U/5790Bm/Vwarwfu 6g6qDEFFEEoECtzgfeVIHK4w3UpvsNtfa5KDbkqVbT1/speqZgclw5ex97j00fbC nqrtYynLrLYzTe2lcJgzqp8bH68wMmjKhuynSIe4789F9TFYr9e/DYIOBe/fxvw wGsaOgpoX6fD9uz8vwIDAQAB -----END PUBLIC KEY----- 2签名认证的内容CSR即证书信息的 MD5 值 72708d1c3af8a4d23e0ed75e16105e85 3对 MD5 值使用 CA 的私钥进行加密签名值BASE64 编码 QJoDpLlftQEWpSNSx9DbqGAwljGsAlMmezKLdC/DCvlBT/YhSfhCxS04i5MMBJHccPIGJB30kC7mfGga0lYckM0/pmzR4tQGrprWSIZz1dcygeUJXJtg41xgd26k0uu31rCwte/xrBQXlRQ/HxKbT/7kWSk6B/4y1eHq2Ve7Y Bob 公钥证书内容
公钥拥有者名称:Bob 公钥算法:RSA
签名有效期:2020/10/1-2021/10/1
签名者名称:CA 签名的摘要算法:MD5
签名的加密算法:RSA 公开的公钥: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKM9Zr89U/5790Bm/Vwarwfu 6g6qDEFFEEoECtzgfeVIHK4w3UpvsNtfa5KDbkqVbT1/speqZgclw5ex97j00fbC nqrtYynLrLYzTe2lcJgzqp8bH68wMmjKhuynSIe4789F9TFYr9e/DYIOBe/fxvw wGsaOgpoX6fD9uz8vwIDAQAB -----END PUBLIC KEY----- 签名
QJoDpLlftQEWpSNSx9DbqGAwljGsAlMmezKLdC/DCvlBT/YhSfhCxS04i5MMBJHccPIGJB30kC7mfGga0lYckM0/pmzR4tQGrprWSIZz1dcygeUJXJtg41xgd26k0uu31rCwte/xrBQXlRQ/HxKbT/7kWSk6B/4y1eHq2Ve7Y 3.基于公钥的数据加密及签名认证通信
3.1 发送的数据内容 三位同学的姓名和学号等基本信息
hkx2009124039yjt1818064057zll2009124037. 3.2 发送端 Alice 对发送数据进行处理
1对发送的数据内容的签名认证发送的数据内容的 MD5 码 b0afb46ea5cff4f5319b62eb55a114de 对发送的数据内容的 MD5 码进行加密使用 Alice 的私钥加密该 MD5即 Alice 对发送信息的签名。 HFuTSgPnRBGKLE5LKMvSefQYA9NuWT2vc0iuCdUuu0WnBQH8Tgoof390JaHb/WyHN6wEkcWCAz75U0K/YGpM5KHMLLwcesA0IpFS1OXYOpTq0cJzINkif9vmn0NqqCHXnKM/TFXEXDb/JsLljFtDPEkQttwJWq9PI4UUHkL9w2M 2对发送的数据内容进行加密
使用 Bob 的公钥加密发送的数据通过 Bob 的数字证书获取其公钥并应该使用 CA 证书对该证书进行验证。 PgMv7TS1pMwqsU9I1k1YGlNYM5XZaBBeEjJSR37Slq0tI3uWtXLvpwnZkpUw73UlosAOSh8uiOPLyyTojiDgYUVqaYvUIT9Ipaqud9VsMUUDj39eRJigJgl7cXncyV5Q0lHGAXhNTW2GVujDk6/ZNl2R7M4P3caAwHfQxLL0
3.3 加密认证信息发送
Alice发送给Bob的信息内容
加密消息:
F7uIAABKh0FAu7fohRohD4DyVcunJtwO4ujhlAoZZKphNycyzRk4EX3iqWgmYWpa5ClnBS0 L5rjPjx1Y8AjwJYlhI6/gQtrHrnHe2cVRfdKqF3QStEaC1Hoxb5pxql0oFpTbltU67aEbc/ xbq0m0E7VW6dPgui05z7T6IrsqKEE
签名信息
XUaBCmIqJecvPWB3yCHgIQlg3dYLKi2mns9aidA0uQ3YR4NNG70Koqncya8TfMrrmbOduy
DYv/YAdTNO7Grt9Qsuqz7M2eANZxS1fyYOK4vY76xB1vglvGBfNzqFRRslhgMWzLpxQ3FiQ
9Sr8eOt0wNNVIgEAnmrK5Wah8mHD0 3.4 接收端 Bob 对接收到数据进行处理
对接收到的密文数据解密 三位同学的姓名和学号等基本信息 hkx2009124039yjt1818064057zll2009124037. 对接收到的数据进行签名验证解密后数据的 MD5 值 bc98021ce2565309a30c4a2a387434c1 接收到的签名消息解密后得到的 MD5 值 使用 Alice 的公钥解密签名信息获取发送端的 MD5 值通过 Alice 的数字证书获取
其公钥并应使用 CA 证书对 Alice 证书进行验证证书验证此处略。 bc98021ce2565309a30c4a2a387434c1 验证是否成功两个 MD5 是否相同两个 MD5 相同验证成功