Themis provides strong, usable cryptography for busy people

Themis 为繁忙的人们提供强大且易用的密码学服务


GitHub release Platforms Coverage Status
Themis Core Integration testing Code style Circle CI Bitrise

通用的密码学库,用于 iOS (Swift, Obj-C)、Android (Java, Kotlin)、React Native (iOS, Android)、桌面 Java、С/С++、Node.js、Python、Ruby、PHP、Go、Rust、WASM 的存储和消息传递。

完美适配多平台应用。隐藏了密码学的复杂细节。由密码学家为开发者打造 🧡

Themis 是什么

Themis 是一个开源的高级密码学服务库,用于保护身份验证、存储、消息传递、网络交换等过程中的数据。 Themis 解决了大多数应用程序中常见的 90% 的典型数据保护用例。

Themis 帮助轻松、快速且安全地构建简单和复杂的密码学功能。 Themis 允许开发人员专注于主要的事情:开发他们的应用程序。

Themis 解决的用例

密码系统

Themis 提供了现成的构建块 (“密码系统”),它们简化了核心密码学安全操作的使用。

Themis 提供 4 种重要的密码学服务

我们创建 Themis 是为了在其基础上构建其他产品 - 即 AcraHermes

安装

请参阅 安装 页面,为你的移动、Web、桌面或服务器端应用程序安装 Themis。 我们强烈建议使用 安装包 而不是从源代码构建。

语言

Themis 适用于以下语言/平台,请参阅每个平台的 语言指南

平台 文档 示例 版本
⚛️ React Native (iOS, Android) React Native 指南 docs/examples/react-native npm
🔶 Swift (iOS, macOS) Swift 指南 docs/examples/swift CocoaPods
📱 Objective-C (iOS, macOS) Objective-C 指南 docs/examples/objc CocoaPods
☕️ Java (桌面) Java (桌面) 指南 docs/examples/java maven
☎️ Java (Android) Java (Android) 指南 docs/examples/android maven
📞 Kotlin (Android) Kotlin (Android) 指南 docs/examples/android maven
🔻 Ruby Ruby 指南 docs/examples/ruby Gem
🐍 Python Python 指南 docs/examples/python PyPI
🐘 PHP PHP 指南 docs/examples/php
➕ C++ CPP 指南 docs/examples/c++
🍭 Node.js Javascript (Node.js) 指南 docs/examples/js npm
🖥 WebAssembly Javascript (WebAssembly) 指南 docs/examples/js npm
🐹 Go Go 指南 docs/examples/go go.dev
🦀 Rust Rust 指南 docs/examples/rust crates
🕸 С++ PNaCl for Google Chrome WebThemis 项目

可用性

Themis 支持以下 CPU 架构:x86_64/i386、ARM、Apple Silicon (ARM64)、各种 Android 架构。

我们在最新的稳定操作系统版本上构建和验证 Themis

我们计划使用更广泛的平台来扩展此列表。 如果你想帮助改进 Themis 或将其引入你最喜欢的平台或语言,请 联系我们

文档

Themis 文档 包含不断发展的官方文档,其中涵盖了从部署指南到用例的所有内容,并简要解释了 Themis 主库背后的密码系统和架构。

请参阅文档以了解更多关于

密码学

Themis 依赖于由 OpenSSL、LibreSSL、BoringSSL 等知名密码学库实现的经过验证的密码学算法。 请参阅 Themis 中的密码学 文档以了解更多信息。

此发行版包含密码学软件。 你当前居住的国家/地区可能对加密软件的进口、拥有、使用和/或再出口到另一个国家/地区有限制。 在使用任何加密软件之前,请检查你所在国家/地区的法律、法规和政策,了解关于加密软件的进口、拥有或使用以及再出口,以查看是否允许这样做。 有关更多信息,请参见 http://www.wassenaar.org/

美国政府商务部工业和安全局 (BIS) 已将此软件归类为出口商品管制编号 (ECCN) 5D002.C.1,其中包括使用或执行具有非对称算法的密码功能的的信息安全软件。 此发行的形式和方式使其有资格根据许可例外 ENC 技术软件无限制 (TSU) 例外(请参阅 BIS 出口管理条例第 740.13 节)出口对象代码和源代码。

向 App Store 提交应用程序

如果你的应用程序使用 Themis 并且你想将其提交到 Apple App Store,则对声明使用任何密码学有一定的要求。

阅读关于 Apple 关于 Themis 密码学的出口法规 以了解该怎么做。

安全性

Themis 核心库中的每个更改都经过我们的密码学家和安全工程师内部团队的审查和批准。 对于每个版本,我们都会进行不使用 Themis 的密码学家进行内部审计。

我们使用大量的自动化安全测试,即静态代码分析器、模糊测试工具、内存分析器、单元测试(每个平台)、集成测试(以查找 Themis 支持的不同语言、操作系统和 x86/x64 架构之间的兼容性问题)。 在 Themis 安全文档 中阅读更多关于我们的安全测试实践的信息。

如果你认为你发现了一个与安全相关的问题,请发送电子邮件至 dev@cossacklabs.com。 漏洞赏金计划可能适用。

GDPR、HIPAA、CCPA

作为移动和服务器平台的密码学服务库,Themis 是一种 "最先进" 的加密工具,它提供安全的数据交换和存储。

使用 Themis,你可以更好地遵守当前的数据隐私法规,例如

在文档中阅读更多关于 法规 的信息。

社区

Themis 是 OWASP 推荐的 用于移动平台的数据加密库。

Themis 广泛用于非商业和商业项目,一些公共应用程序和库可以在这里找到

也想在我们的博客和贡献者列表中展示吗? 写信给我们,告诉我们你使用 Themis 创建的项目!

贡献

如果你正在寻找可以贡献的东西并获得永恒的尊重,只需在 问题列表 中选择东西。 前往我们的 贡献指南 作为你的起点。

为了在如此众多的平台上支持 Themis,我们付出了艰辛的努力,但我们尽力让每个人都能方便地使用 Themis。 用户遇到的大多数问题都与安装过程和依赖项管理有关。 如果您遇到任何挑战,请告诉我们

商业支持

在 Cossack Labs,我们为 Themis 和使用 Themis 的应用程序提供专业的支持服务。

这些支持包括但不限于库集成,重点是 Web 和移动应用程序; 为移动应用程序设计和构建端到端加密方案; 安全审计,用于内部库集成或高级协议; 需要密码学的自定义应用程序开发; 咨询和培训服务

请发送电子邮件至 info@cossacklabs.com 或查看 Cossack Labs 网络安全服务

联系方式

如果您想提出技术问题、报告错误或提出功能建议,请随时在 GitHub 上发起讨论,在 问题跟踪器中提出问题,或写信至 dev@cossacklabs.com

要与 Cossack Labs Limited 的业务部门联系,请发送电子邮件至 info@cossacklabs.com

Blog Twitter CossackLabs Dev.to CossackLabs Medium CossackLabs

Closed pull requests with Bitcode-related changes