Project

ccc

0.0
The project is in a healthy, maintained state
A Ruby gem for coding, ciphering, and cryptography utilities.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 13.0
~> 3.12
 Project Readme

CCC

Coding Ciphering and Crypto — 多主题密码学工具库(Ruby + JavaScript)。

主题

主题 目录 说明 Ruby JavaScript
stego stego/ Unicode 同形字符隐写:Claude Code 风格日期/撇号隐蔽通道、通用 5 通道隐写 lib/ccc/stego_encoder.rb, lib/ccc/unicode_stego.rb src/
desensitize desensitize/ 全方位数据脱敏:FPE、令牌化、Paillier 同态加密、日期偏移、差分隐私、假名化、零知识承诺、k-匿名泛化 lib/ccc/desensitizer.rb src/desensitizer.js

快速开始(desensitize 主题)

Ruby:

require "ccc/desensitizer"

engine = Desensitizer::Engine.new(secret_key: "your-master-key")
engine.field :phone,   :fpe
engine.field :salary,  :paillier
engine.field :name,    :pseudonymize

safe  = engine.desensitize(raw_record)   # 脱敏后安全送 AI
back  = engine.restore(safe)             # AI 返回后还原

JavaScript(Node.js ≥ 14,大数运算使用原生 BigInt,与 Ruby 版跨语言一致):

const { Desensitizer } = require("ccc"); // 或 require("ccc/src/desensitizer")

const engine = new Desensitizer.Engine({ secretKey: "your-master-key" });
engine.field("phone", "fpe");
engine.field("salary", "paillier");   // 密文为 BigInt
engine.field("name", "pseudonymize");

const safe = engine.desensitize(rawRecord); // 脱敏后安全送 AI
const back = engine.restore(safe);          // AI 返回后还原

开发

bundle exec rake spec   # 运行全部 Ruby 测试
bundle exec rake demo   # 运行全部 Ruby 演示
npm test                # 运行全部 JS 测试(node --test spec/js/*.test.js)
npm run build           # rollup 构建 dist/(ESM / CJS / UMD)

各主题的设计文档见对应主题目录(如 desensitize/desensitizer/design.md)。