VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Signing/sign_test.bat
AgeCommit message (Expand)AuthorFilesLines
2017-07-07Windows: Add PDF documents about DCS configuration for EFI system encryption:...Mounir IDRASSI1-0/+2
2017-07-02Increment version to 1.21 (1.21.1)Mounir IDRASSI1-2/+2
2017-06-23Increment version to 1.20 (1.20.3)Mounir IDRASSI1-2/+2
2017-06-05Windows: move language XML files to new "Languages" folder in the installatio...Mounir IDRASSI1-2/+7
2017-06-05Windows: Move User Guide CHM file under "docs" folderMounir IDRASSI1-1/+1
2017-06-05Windows: Install CHM User Guide instead of PDF one. Delete existing PDF when ...Mounir IDRASSI1-3/+10
2017-06-01Windows: Update packaging bat files to account for the location change of lic...Mounir IDRASSI1-0/+10
2017-05-15Windows: Add HTML documentation to Windows installer.Mounir IDRASSI1-1/+11
2016-12-30Increment version to 1.20 BETA2 (1.20.2)Mounir IDRASSI1-2/+2
2016-12-08Increment version to 1.20 BETA1 (1.20.1)Mounir IDRASSI1-2/+2
2016-10-17Increment version to 1.19 (1.19.4)Mounir IDRASSI1-2/+2
2016-10-17Update documentation and increment version to 1.19 BETA3 (1.19.3)Mounir IDRASSI1-2/+2
2016-08-21Increment version to 1.19 BETA2 (1.19.2)Mounir IDRASSI1-2/+2
2016-08-16Increment version to 1.18. Update user guide PDF file.VeraCrypt_1.18_PreReleaseMounir IDRASSI1-2/+2
2016-05-10Normalize all line terminatorsDavid Foerster1-31/+31
2016-02-14Increment version to 1.17. Update user guide PDF file.Mounir IDRASSI1-2/+2
2016-01-17Windows: Add SHA-256 EV Code Signing using the new GlobalSign certificate on ...Mounir IDRASSI1-4/+8
2016-01-03Windows: sign binaries using both SHA-1 and SHA-256 for maximum compatibility...Mounir IDRASSI1-11/+10
2015-10-07Increment version to 1.16. Update user guide PDF file.VeraCrypt_1.16Mounir IDRASSI1-1/+1
2015-09-26Increment version to 1.15. Update user guide PDF file.VeraCrypt_1.15Mounir IDRASSI1-1/+1
2015-08-09Increment version to 1.13VeraCrypt_1.13Mounir IDRASSI1-1/+1
2015-08-06Increment version to 1.12. Update user guide PDF file.Mounir IDRASSI1-1/+1
2015-05-22Windows Setup: Integrate 64-bit builds of exe files into the installer. Only ...Mounir IDRASSI1-0/+4
2015-04-11Windows: add a test code-signing certificate and a batch file to sign binarie...Mounir IDRASSI1-0/+25
ts derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <stdlib.h> #include <zlib.h> #include "zipint.h" #define PKWARE_KEY0 305419896 #define PKWARE_KEY1 591751049 #define PKWARE_KEY2 878082192 static void update_keys(zip_pkware_keys_t *keys, zip_uint8_t b) { keys->key[0] = (zip_uint32_t)crc32(keys->key[0] ^ 0xffffffffUL, &b, 1) ^ 0xffffffffUL; keys->key[1] = (keys->key[1] + (keys->key[0] & 0xff)) * 134775813 + 1; b = (zip_uint8_t)(keys->key[1] >> 24); keys->key[2] = (zip_uint32_t)crc32(keys->key[2] ^ 0xffffffffUL, &b, 1) ^ 0xffffffffUL; } static zip_uint8_t crypt_byte(zip_pkware_keys_t *keys) { zip_uint16_t tmp; tmp = (zip_uint16_t)(keys->key[2] | 2); tmp = (zip_uint16_t)(((zip_uint32_t)tmp * (tmp ^ 1)) >> 8); return (zip_uint8_t)tmp; } void _zip_pkware_keys_reset(zip_pkware_keys_t *keys) { keys->key[0] = PKWARE_KEY0; keys->key[1] = PKWARE_KEY1; keys->key[2] = PKWARE_KEY2; } void _zip_pkware_encrypt(zip_pkware_keys_t *keys, zip_uint8_t *out, const zip_uint8_t *in, zip_uint64_t len) { zip_uint64_t i; zip_uint8_t b; zip_uint8_t tmp; for (i = 0; i < len; i++) { b = in[i]; if (out != NULL) { tmp = crypt_byte(keys); update_keys(keys, b); b ^= tmp; out[i] = b; } else { /* during initialization, we're only interested in key updates */ update_keys(keys, b); } } } void _zip_pkware_decrypt(zip_pkware_keys_t *keys, zip_uint8_t *out, const zip_uint8_t *in, zip_uint64_t len) { zip_uint64_t i; zip_uint8_t b; zip_uint8_t tmp; for (i = 0; i < len; i++) { b = in[i]; /* during initialization, we're only interested in key updates */ if (out != NULL) { tmp = crypt_byte(keys); b ^= tmp; out[i] = b; } update_keys(keys, b); } }