# enigma.1

ENIGMA(1)

ENIGMA(1)

FreeBSD General Commands Manual

ENIGMA(1)

## [名称](#__u540D___u79F0_)

`enigma`, `crypt` —

非常简单的文件加密

## [概要](#__u6982___u8981_)

`enigma` \[`-s`] \[`-k`] \[password] `crypt` \[`-s`] \[`-k`] \[password]

## [描述](#__u63CF___u8FF0_)

`enigma` 实用程序，也称为 `crypt` 是一个 *非常* 简单的加密程序，在 “secret-key” 基础上工作。 它作为过滤器运行，即，它加密或解密来自标准输入的数据流，并将结果写入标准输出。 由于它的操作是完全对称的，通过引擎再次输入加密数据流（使用相同的密钥）将对其进行解密。

有几种方法可以为程序提供密钥。 默认情况下，程序会使用 getpass(3) 在控制终端上提示用户输入密钥。 这是提供它的唯一安全方式。

或者，可以在启动程序时将密钥作为唯一的命令行参数 password 提供。 显然，通过这种方式，其他运行 ps(1) 的用户很容易发现密钥。 作为另一种选择，可以为 `enigma` 提供选项 `-k`, 它将从环境变量 `CrYpTkEy` 中获取密钥。 虽然乍一看这似乎比前一个选项更安全，但实际上并非如此，因为环境变量也可以使用 ps(1) 检查。 因此，提供此选项主要是为了与 `enigma` 的其他实现兼容。

当指定选项 `-s` 时， `enigma` 会修改加密引擎，使其更安全一些，但与其他实现不兼容。

### [警告](#__u8B66___u544A_)

`enigma` 的密码价值相当小。 此处提供此程序只是为了与也提供实现的其他操作系统兼容（通常在此处称为 crypt(1) ）。 对于真正的加密，请参阅 openssl(1) 或 gpg(1) (security/gnupg1) 。

## [环境](#__u73AF___u5883_)

[`CrYpTkEy`](#CrYpTkEy)

用于在给出选项 `-k` 时获取密钥

## [实例](#__u5B9E___u4F8B_)

man enigma | enigma > encrypted Enter key: (XXX — key not echoed)

这将创建此手册页的加密形式，并将其存储在 encrypted 的文件中。

enigma XXX < encrypted

这将在终端上显示先前创建的文件。

## [参见](#__u53C2___u89C1_)

gpg(1), openssl(1), ps(1), getpass(3)

## [历史](#__u5386___u53F2_)

`crypt` 的实现在 UNIX 操作系统中非常普遍。- 此实现取自公共领域的 *Cryptbreakers Workbench* 。

May 8, 2018

FreeBSD 13.1-RELEASE
