implementing-aes-encryption-for-data-at-rest

AES(高级加密标准)是由 NIST(FIPS 197)标准化的对称分组密码,用于保护机密和敏感数据。本技能涵盖在 GCM 模式下实现 AES-256 加密,用于加密静态文件和数据存储,包括正确的密钥派生、IV/nonce 管理和认证加密。

9 stars

Best use case

implementing-aes-encryption-for-data-at-rest is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

AES(高级加密标准)是由 NIST(FIPS 197)标准化的对称分组密码,用于保护机密和敏感数据。本技能涵盖在 GCM 模式下实现 AES-256 加密,用于加密静态文件和数据存储,包括正确的密钥派生、IV/nonce 管理和认证加密。

Teams using implementing-aes-encryption-for-data-at-rest should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-aes-encryption-for-data-at-rest/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-aes-encryption-for-data-at-rest/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-aes-encryption-for-data-at-rest/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-aes-encryption-for-data-at-rest Compares

Feature / Agentimplementing-aes-encryption-for-data-at-restStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

AES(高级加密标准)是由 NIST(FIPS 197)标准化的对称分组密码,用于保护机密和敏感数据。本技能涵盖在 GCM 模式下实现 AES-256 加密,用于加密静态文件和数据存储,包括正确的密钥派生、IV/nonce 管理和认证加密。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 为静态数据实现 AES 加密

## 概述

AES(高级加密标准,Advanced Encryption Standard)是由 NIST(FIPS 197)标准化的对称分组密码(symmetric block cipher),用于保护机密和敏感数据。本技能涵盖在 GCM 模式下实现 AES-256 加密,用于加密静态文件和数据存储,包括正确的密钥派生(key derivation)、IV/nonce 管理和认证加密(authenticated encryption)。

## 目标

- 实现针对文件的 AES-256-GCM 加密和解密
- 使用 PBKDF2 和 Argon2 从密码派生加密密钥
- 安全管理初始化向量(IV,Initialization Vector)和 nonce
- 对整个目录树进行加密和解密
- 实现认证加密以检测篡改
- 使用流式加密处理大型文件

## 核心概念

### AES 操作模式

| 模式 | 认证 | 可并行 | 使用场景 |
|------|------|--------|---------|
| GCM  | 是(AEAD)| 是 | 网络数据、文件加密 |
| CBC  | 否 | 仅解密 | 遗留系统、磁盘加密 |
| CTR  | 否 | 是 | 流式加密 |
| CCM  | 是(AEAD)| 否 | IoT、受约束环境 |

### 密钥派生

永远不要将原始密码用作加密密钥。始终使用以下方式派生密钥:
- **PBKDF2**:NIST 批准,广泛支持(截至 2024 年最少 600,000 次迭代)
- **Argon2id**:密码哈希竞赛冠军,内存密集型
- **scrypt**:内存密集型,Argon2 的良好替代方案

### Nonce/IV 管理

- GCM 需要 96 位(12 字节)的 nonce,绝对不能在同一密钥下重复使用
- 使用 `os.urandom()` 生成 nonce(密码安全伪随机数生成器,CSPRNG)
- 将 nonce 与密文一起存储(nonce 不是秘密)

## 实现步骤

1. 安装 `cryptography` 库:`pip install cryptography`
2. 生成或派生加密密钥
3. 为每次加密操作创建随机 nonce
4. 使用密钥和 nonce 通过 AES-256-GCM 加密数据
5. 将 nonce + 密文 + 认证标签一起存储
6. 解密时,提取 nonce,验证标签,然后解密

## 加密文件格式

```
[salt: 16 字节][nonce: 12 字节][密文: 可变长度][标签: 16 字节]
```

## 安全注意事项

- 始终使用认证加密(GCM、CCM)以防止篡改
- 永远不要对同一密钥重复使用 nonce(在 GCM 中会造成灾难性后果)
- 对长期数据保护使用至少 256 位密钥
- 在可能的情况下,使用后安全清除内存中的密钥
- 根据组织策略定期轮换加密密钥
- 对于磁盘级加密,考虑使用 XTS 模式(AES-XTS)

## 验证标准

- [ ] AES-256-GCM 加密产生有效密文
- [ ] 解密能精确恢复原始明文
- [ ] 认证标签能检测任何密文修改
- [ ] 密钥派生使用足够的迭代次数/参数
- [ ] 同一密钥的 nonce 从不重复使用
- [ ] 大型文件(>1GB)可通过流式处理
- [ ] 加密文件格式包含所有必要的元数据

Related Skills

testing-for-sensitive-data-exposure

9
from killvxk/cybersecurity-skills-zh

在安全评估中识别敏感数据暴露漏洞,包括 API 密钥泄露、响应中的 PII、不安全存储以及未受保护的数据传输。

reverse-engineering-ransomware-encryption-routine

9
from killvxk/cybersecurity-skills-zh

对勒索软件加密例程进行逆向工程,以识别密码学算法、密钥生成缺陷,以及通过静态和动态分析挖掘潜在的解密机会。

performing-sqlite-database-forensics

9
from killvxk/cybersecurity-skills-zh

对 SQLite 数据库执行取证分析,从空闲列表(Freelist)和 WAL 文件中恢复已删除记录,解码编码时间戳,并从浏览器历史、即时通讯应用和移动设备数据库中提取证据。

performing-api-fuzzing-with-restler

9
from killvxk/cybersecurity-skills-zh

使用 Microsoft RESTler 执行有状态 REST API 模糊测试(Fuzzing),通过自动生成并执行测试序列来 覆盖 API 端点,发现请求间的生产者-消费者依赖关系,并找出安全性和可靠性缺陷。 测试人员将 OpenAPI 规范编译为 RESTler 模糊测试语法,配置认证,运行 test/fuzz-lean/fuzz 模式,并分析结果以发现 500 错误、认证绕过、资源泄漏和载荷注入漏洞。 当请求涉及 API 模糊测试、RESTler 测试、有状态 API 测试或自动化 API 安全扫描时触发。

performing-active-directory-forest-trust-attack

9
from killvxk/cybersecurity-skills-zh

使用 impacket 枚举和审计 Active Directory 林信任关系,进行 SID 过滤分析、信任密钥提取、跨林 SID 历史滥用检测和跨域 Kerberos 票据评估。

implementing-zero-trust-with-hashicorp-boundary

9
from killvxk/cybersecurity-skills-zh

使用 HashiCorp Boundary 实现具备动态凭据代理、会话录制和 Vault 集成的身份感知零信任基础设施访问管理。

implementing-zero-trust-with-beyondcorp

9
from killvxk/cybersecurity-skills-zh

使用身份感知代理(IAP,Identity-Aware Proxy)、上下文感知访问策略、设备信任验证和 Access Context Manager,部署 Google BeyondCorp Enterprise 零信任访问控制,对 GCP 资源和内部应用强制执行基于身份和安全态势的访问。

implementing-zero-trust-network-access

9
from killvxk/cybersecurity-skills-zh

通过配置身份感知代理、微分段、基于条件访问策略的持续验证,以及在 AWS、Azure 和 GCP 环境中以 BeyondCorp 风格的架构替代传统 VPN 访问,在云环境中实施零信任网络访问(ZTNA)。

implementing-zero-trust-network-access-with-zscaler

9
from killvxk/cybersecurity-skills-zh

使用 Zscaler 实施零信任网络访问(Zero Trust Network Access,ZTNA),通过 Zscaler Private Access(ZPA)配置应用分段、访问策略和连接器,替代传统 VPN 架构

implementing-zero-trust-in-cloud

9
from killvxk/cybersecurity-skills-zh

本技能指导组织按照 NIST SP 800-207 和 Google BeyondCorp 原则在云环境中实施零信任(Zero Trust)架构,涵盖以身份为中心的访问控制、微分段(Micro-Segmentation)、持续验证、设备信任评估,以及部署身份感知代理(Identity-Aware Proxy)以消除 AWS、Azure 和 GCP 环境中的隐式网络信任。

implementing-zero-trust-for-saas-applications

9
from killvxk/cybersecurity-skills-zh

使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。

implementing-zero-trust-dns-with-nextdns

9
from killvxk/cybersecurity-skills-zh

将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。