Closed GoogleCodeExporter closed 9 years ago
Original comment by yukawa@google.com
on 17 May 2014 at 2:19
r208 removed the previous implementation. GYP_DEFINES="use_legacy_encryptor=1"
is no longer supported.
Original comment by yukawa@google.com
on 29 May 2014 at 5:31
tl;dr No behavioral change expected with this effort. User conversion history
is still obfuscated before and after r192 with the same algorithm (AES-256 in
CBC mode)
Long version:
What I did in r192 is basically a self-contained reinplementation of
AES-256-CBC and SHA1, which allows us not to depend on external libraries and
platform-dependent APIs such as OpenSSL (on OS X, Linux, and NaCl) and
javax.crypto.Cipher (on Android). Of course, reimplementing cryptographic
module is discouraged in general. However, given that mozc::Encryptor is
originally designed to be a part of *casual* obfuscation functionality rather
than a cryptographically critical feature, this is sort of acceptable to reduce
the maintainance cost.
Summary:
Until r192, mozc::Encryptor had depended on following modules.
- Windows: Crypt APIs.
- Mac: OpenSSL
- Linux: OpenSSL
- NaCl: OpenSSL
- Android: javax.crypto.Cipher
Since r192, mozc::Encryptor has depended on following modules.
- Windows: Crypt APIs (not for AES-256-CBC and SHA1 but for further OS-level data protection)
- Mac, Linux, NaCl, Android: None.
Reference:
https://code.google.com/p/mozc/wiki/DataEncryptionAndPasswordManagement
Original comment by yukawa@google.com
on 29 May 2014 at 5:34
Original issue reported on code.google.com by
yukawa@google.com
on 17 May 2014 at 2:19