70e368e235
Deploy Examination / deploy (push) Successful in 7s
New topic group: 网络安全专题 (cybersecurity) Subtopics: - web-security: Web 安全基础 (34 questions) - crypto-basics: 密码学基础 (34 questions) - buffer-overflow: 缓冲区溢出与漏洞利用 (34 questions) - os-security: 操作系统安全 (34 questions) - network-attack: 网络攻防 (34 questions) - secure-coding: 安全编程实践 (34 questions) Question types per subtopic: - single_choice × 20 - true_false × 10 - short_answer × 3 - code_reading × 1 Difficulty range: 1-3 (基础)
150 lines
7.8 KiB
JSON
150 lines
7.8 KiB
JSON
{
|
|
"topic": "crypto-basics",
|
|
"type": "true_false",
|
|
"schema_version": "1.0.0",
|
|
"generated": "2026-09-17T00:00:00+08:00",
|
|
"questions": [
|
|
{
|
|
"id": "tf-001",
|
|
"type": "true_false",
|
|
"difficulty": 1,
|
|
"tags": [
|
|
"密码学",
|
|
"加密"
|
|
],
|
|
"question": "对称加密算法中,加密和解密使用相同的密钥。",
|
|
"answer": true,
|
|
"explanation": "对称加密的核心特征就是加密和解密共享同一个密钥。发送方用该密钥对明文进行加密,接收方用同一个密钥对密文进行解密。常见算法如 AES、DES、3DES 都属于对称加密。由于双方必须持有同一密钥,密钥的分发和管理是对称加密面临的主要挑战。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-002",
|
|
"type": "true_false",
|
|
"difficulty": 1,
|
|
"tags": [
|
|
"密码学",
|
|
"加密"
|
|
],
|
|
"question": "非对称加密算法(如 RSA)中,用公钥加密的数据只能用对应的私钥解密。",
|
|
"answer": true,
|
|
"explanation": "非对称加密使用一对数学相关的密钥:公钥和私钥。公钥可以公开分发,用于加密数据;只有持有对应私钥的人才能解密这些数据。这一机制解决了对称加密中密钥分发的难题,是 HTTPS、数字签名等安全协议的基础。RSA、ECC、ElGamal 都是典型的非对称加密算法。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-003",
|
|
"type": "true_false",
|
|
"difficulty": 2,
|
|
"tags": [
|
|
"密码学",
|
|
"加密"
|
|
],
|
|
"question": "非对称加密的计算速度通常比对称加密快,因此适合加密大量数据。",
|
|
"answer": false,
|
|
"explanation": "事实恰恰相反。非对称加密(如 RSA)涉及大数幂运算等复杂数学操作,计算开销远大于对称加密(如 AES 的位运算和查表操作),速度通常慢几个数量级。因此在实际应用中,常见做法是用非对称加密来安全交换一个对称会话密钥,再用该对称密钥加密后续的大量数据,这就是混合加密体制的由来。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-004",
|
|
"type": "true_false",
|
|
"difficulty": 2,
|
|
"tags": [
|
|
"哈希",
|
|
"密码学"
|
|
],
|
|
"question": "密码学哈希函数(如 SHA-256)是可逆的,即可以从哈希值推导出原始输入。",
|
|
"answer": false,
|
|
"explanation": "密码学哈希函数被设计为单向函数(one-way function),从输入计算哈希值很容易,但从哈希值反推输入在计算上是不可行的。这是哈希函数的核心安全属性之一。如果哈希可逆,那么密码存储、数字签名、完整性校验等依赖哈希的机制都会彻底崩溃。SHA-256、SHA-3、BLAKE2 等都满足这一单向性要求。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-005",
|
|
"type": "true_false",
|
|
"difficulty": 2,
|
|
"tags": [
|
|
"哈希",
|
|
"密码学"
|
|
],
|
|
"question": "不同的输入经过密码学哈希函数计算后,一定会产生不同的输出(哈希值)。",
|
|
"answer": false,
|
|
"explanation": "由于哈希函数的输出长度固定(如 SHA-256 输出 256 位),而输入空间是无限的,根据鸽巢原理,必然存在不同输入产生相同输出的情况,这称为哈希碰撞(collision)。密码学哈希函数的安全性要求是使找到碰撞在计算上不可行,而非完全不存在碰撞。MD5 和 SHA-1 就是因为被发现存在实际可利用的碰撞而被弃用。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-006",
|
|
"type": "true_false",
|
|
"difficulty": 1,
|
|
"tags": [
|
|
"哈希",
|
|
"密码学"
|
|
],
|
|
"question": "MD5 算法目前仍被广泛推荐用于密码存储和安全证书签名。",
|
|
"answer": false,
|
|
"explanation": "MD5 已被证明存在严重的安全漏洞,研究人员可以在普通计算机上快速构造碰撞。早在 2004 年,王小云教授团队就展示了 MD5 碰撞攻击的实际可行性。目前 MD5 不应再用于任何安全敏感的场景,包括密码存储和证书签名。现代应用应使用 SHA-256、SHA-3 或 BLAKE2 等更安全的哈希算法,密码存储则推荐 bcrypt、scrypt 或 Argon2。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-007",
|
|
"type": "true_false",
|
|
"difficulty": 2,
|
|
"tags": [
|
|
"数字签名",
|
|
"密码学"
|
|
],
|
|
"question": "数字签名过程中,发送方使用自己的私钥对消息的哈希值进行签名,接收方使用发送方的公钥进行验证。",
|
|
"answer": true,
|
|
"explanation": "数字签名的工作流程是:发送方先对消息计算哈希值,然后用自己的私钥对哈希值进行加密(签名),接收方用发送方的公钥解密签名得到哈希值,再与自己计算的消息哈希值比对。这一过程同时实现了身份认证(只有私钥持有者能生成该签名)和完整性验证(哈希值匹配说明消息未被篡改)。RSA 签名、ECDSA 等都是遵循这一原理的算法。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-008",
|
|
"type": "true_false",
|
|
"difficulty": 3,
|
|
"tags": [
|
|
"数字签名",
|
|
"密码学"
|
|
],
|
|
"question": "数字签名能同时提供消息完整性、身份认证和不可否认性。",
|
|
"answer": true,
|
|
"explanation": "数字签名提供了三大安全属性:第一,完整性——签名是对消息哈希值的加密,任何篡改都会导致验证失败;第二,身份认证——只有持有私钥的人才能生成有效签名,因此可以确认消息来源;第三,不可否认性——由于私钥只有签名者持有,签名者事后无法否认自己曾签署过该消息,这在法律和商业场景中尤为重要。这三大属性使数字签名成为电子合同、软件发布签名等场景的核心技术。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-009",
|
|
"type": "true_false",
|
|
"difficulty": 2,
|
|
"tags": [
|
|
"PKI",
|
|
"证书",
|
|
"密码学"
|
|
],
|
|
"question": "在 PKI(公钥基础设施)体系中,数字证书是由证书颁发机构(CA)签发的,用于将公钥与实体身份进行绑定。",
|
|
"answer": true,
|
|
"explanation": "PKI 的核心组件就是数字证书和 CA。证书颁发机构(CA)在验证申请者身份后,用自己的私钥对包含申请者公钥和身份信息的证书进行签名,生成数字证书。依赖方(如浏览器)通过验证 CA 的签名来确认证书的真实性,从而信任证书中的公钥确实属于声称的实体。X.509 是最常用的证书标准,TLS/SSL、S/MIME 等协议都依赖此机制。",
|
|
"source": null,
|
|
"related": []
|
|
},
|
|
{
|
|
"id": "tf-010",
|
|
"type": "true_false",
|
|
"difficulty": 3,
|
|
"tags": [
|
|
"PKI",
|
|
"证书",
|
|
"密码学"
|
|
],
|
|
"question": "如果一个网站的数字证书已过期,浏览器会自动信任该证书并建立安全连接,不会有任何警告。",
|
|
"answer": false,
|
|
"explanation": "浏览器在建立 TLS 连接时会严格检查证书的有效期。如果证书已过期,浏览器会立即中断连接并显示明显的安全警告页面,提示用户该连接不安全。有效期是证书的重要约束字段,CA 在签发证书时设定合理期限(通常 1-2 年),过期后证书失效。这是 PKI 体系中限制私钥泄露影响范围的重要机制——即使私钥泄露,过期后证书也会自动失效,降低了持续风险。",
|
|
"source": null,
|
|
"related": []
|
|
}
|
|
]
|
|
} |