Merge pull request #1124 from reaperhulk/rsa-numbers-deprecate

RSA Deprecation
diff --git a/cryptography/hazmat/bindings/openssl/aes.py b/cryptography/hazmat/bindings/openssl/aes.py
index b0e0072..58ef0cf 100644
--- a/cryptography/hazmat/bindings/openssl/aes.py
+++ b/cryptography/hazmat/bindings/openssl/aes.py
@@ -29,12 +29,6 @@
 FUNCTIONS = """
 int AES_set_encrypt_key(const unsigned char *, const int, AES_KEY *);
 int AES_set_decrypt_key(const unsigned char *, const int, AES_KEY *);
-/* The ctr128_encrypt function is only useful in 0.9.8. You should use EVP for
-   this in 1.0.0+. */
-void AES_ctr128_encrypt(const unsigned char *, unsigned char *,
-                        const unsigned long, const AES_KEY *,
-                        unsigned char[], unsigned char[], unsigned int *);
-
 """
 
 MACROS = """
@@ -44,6 +38,14 @@
                  const unsigned char *, unsigned int);
 int AES_unwrap_key(AES_KEY *, const unsigned char *, unsigned char *,
                    const unsigned char *, unsigned int);
+
+/* The ctr128_encrypt function is only useful in 0.9.8. You should use EVP for
+   this in 1.0.0+. It is defined in macros because the function signature
+   changed after 0.9.8 */
+void AES_ctr128_encrypt(const unsigned char *, unsigned char *,
+                        const size_t, const AES_KEY *,
+                        unsigned char[], unsigned char[], unsigned int *);
+
 """
 
 CUSTOMIZATIONS = """
diff --git a/cryptography/hazmat/bindings/openssl/binding.py b/cryptography/hazmat/bindings/openssl/binding.py
index 464081b..554c3c3 100644
--- a/cryptography/hazmat/bindings/openssl/binding.py
+++ b/cryptography/hazmat/bindings/openssl/binding.py
@@ -74,6 +74,7 @@
         "x509",
         "x509name",
         "x509v3",
+        "x509_vfy"
     ]
 
     _locks = None
diff --git a/cryptography/hazmat/bindings/openssl/err.py b/cryptography/hazmat/bindings/openssl/err.py
index f685e49..f97fd5d 100644
--- a/cryptography/hazmat/bindings/openssl/err.py
+++ b/cryptography/hazmat/bindings/openssl/err.py
@@ -18,6 +18,8 @@
 """
 
 TYPES = """
+static const long Cryptography_HAS_102_ERROR_CODES;
+static const long Cryptography_HAS_100_ERROR_CODES;
 static const int Cryptography_HAS_REMOVE_THREAD_STATE;
 static const int Cryptography_HAS_098H_ERROR_CODES;
 static const int Cryptography_HAS_098C_CAMELLIA_CODES;
@@ -221,6 +223,70 @@
 static const int RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY;
 static const int RSA_R_BLOCK_TYPE_IS_NOT_01;
 static const int RSA_R_BLOCK_TYPE_IS_NOT_02;
+
+static const int X509_V_OK;
+static const int X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT;
+static const int X509_V_ERR_UNABLE_TO_GET_CRL;
+static const int X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE;
+static const int X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE;
+static const int X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY;
+static const int X509_V_ERR_CERT_SIGNATURE_FAILURE;
+static const int X509_V_ERR_CRL_SIGNATURE_FAILURE;
+static const int X509_V_ERR_CERT_NOT_YET_VALID;
+static const int X509_V_ERR_CERT_HAS_EXPIRED;
+static const int X509_V_ERR_CRL_NOT_YET_VALID;
+static const int X509_V_ERR_CRL_HAS_EXPIRED;
+static const int X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD;
+static const int X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD;
+static const int X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD;
+static const int X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD;
+static const int X509_V_ERR_OUT_OF_MEM;
+static const int X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT;
+static const int X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN;
+static const int X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY;
+static const int X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE;
+static const int X509_V_ERR_CERT_CHAIN_TOO_LONG;
+static const int X509_V_ERR_CERT_REVOKED;
+static const int X509_V_ERR_INVALID_CA;
+static const int X509_V_ERR_PATH_LENGTH_EXCEEDED;
+static const int X509_V_ERR_INVALID_PURPOSE;
+static const int X509_V_ERR_CERT_UNTRUSTED;
+static const int X509_V_ERR_CERT_REJECTED;
+static const int X509_V_ERR_SUBJECT_ISSUER_MISMATCH;
+static const int X509_V_ERR_AKID_SKID_MISMATCH;
+static const int X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH;
+static const int X509_V_ERR_KEYUSAGE_NO_CERTSIGN;
+static const int X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER;
+static const int X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION;
+static const int X509_V_ERR_KEYUSAGE_NO_CRL_SIGN;
+static const int X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION;
+static const int X509_V_ERR_INVALID_NON_CA;
+static const int X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED;
+static const int X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE;
+static const int X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED;
+static const int X509_V_ERR_INVALID_EXTENSION;
+static const int X509_V_ERR_INVALID_POLICY_EXTENSION;
+static const int X509_V_ERR_NO_EXPLICIT_POLICY;
+static const int X509_V_ERR_DIFFERENT_CRL_SCOPE;
+static const int X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE;
+static const int X509_V_ERR_UNNESTED_RESOURCE;
+static const int X509_V_ERR_PERMITTED_VIOLATION;
+static const int X509_V_ERR_EXCLUDED_VIOLATION;
+static const int X509_V_ERR_SUBTREE_MINMAX;
+static const int X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE;
+static const int X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX;
+static const int X509_V_ERR_UNSUPPORTED_NAME_SYNTAX;
+static const int X509_V_ERR_CRL_PATH_VALIDATION_ERROR;
+static const int X509_V_ERR_SUITE_B_INVALID_VERSION;
+static const int X509_V_ERR_SUITE_B_INVALID_ALGORITHM;
+static const int X509_V_ERR_SUITE_B_INVALID_CURVE;
+static const int X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM;
+static const int X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED;
+static const int X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256;
+static const int X509_V_ERR_HOSTNAME_MISMATCH;
+static const int X509_V_ERR_EMAIL_MISMATCH;
+static const int X509_V_ERR_IP_ADDRESS_MISMATCH;
+static const int X509_V_ERR_APPLICATION_VERIFICATION;
 """
 
 FUNCTIONS = """
@@ -277,6 +343,38 @@
 """
 
 CUSTOMIZATIONS = """
+// OpenSSL 1.0.2+
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+static const long Cryptography_HAS_102_ERROR_CODES = 1;
+#else
+static const long Cryptography_HAS_102_ERROR_CODES = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = 0;
+static const long X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = 0;
+static const long X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = 0;
+static const long X509_V_ERR_HOSTNAME_MISMATCH = 0;
+static const long X509_V_ERR_EMAIL_MISMATCH = 0;
+static const long X509_V_ERR_IP_ADDRESS_MISMATCH = 0;
+#endif
+
+// OpenSSL 1.0.0+
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+static const long Cryptography_HAS_100_ERROR_CODES = 1;
+#else
+static const long Cryptography_HAS_100_ERROR_CODES = 0;
+static const long X509_V_ERR_DIFFERENT_CRL_SCOPE = 0;
+static const long X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE = 0;
+static const long X509_V_ERR_PERMITTED_VIOLATION = 0;
+static const long X509_V_ERR_EXCLUDED_VIOLATION = 0;
+static const long X509_V_ERR_SUBTREE_MINMAX = 0;
+static const long X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE = 0;
+static const long X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX = 0;
+static const long X509_V_ERR_UNSUPPORTED_NAME_SYNTAX = 0;
+static const long X509_V_ERR_CRL_PATH_VALIDATION_ERROR = 0;
+#endif
+
 #if OPENSSL_VERSION_NUMBER >= 0x10000000L
 static const long Cryptography_HAS_REMOVE_THREAD_STATE = 1;
 #else
@@ -311,6 +409,29 @@
 """
 
 CONDITIONAL_NAMES = {
+    "Cryptography_HAS_102_ERROR_CODES": [
+        'X509_V_ERR_SUITE_B_INVALID_VERSION',
+        'X509_V_ERR_SUITE_B_INVALID_ALGORITHM',
+        'X509_V_ERR_SUITE_B_INVALID_CURVE',
+        'X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM',
+        'X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED',
+        'X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256',
+        'X509_V_ERR_HOSTNAME_MISMATCH',
+        'X509_V_ERR_EMAIL_MISMATCH',
+        'X509_V_ERR_IP_ADDRESS_MISMATCH'
+    ],
+    "Cryptography_HAS_100_ERROR_CODES": [
+        'X509_V_ERR_DIFFERENT_CRL_SCOPE',
+        'X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE',
+        'X509_V_ERR_UNNESTED_RESOURCE',
+        'X509_V_ERR_PERMITTED_VIOLATION',
+        'X509_V_ERR_EXCLUDED_VIOLATION',
+        'X509_V_ERR_SUBTREE_MINMAX',
+        'X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE',
+        'X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX',
+        'X509_V_ERR_UNSUPPORTED_NAME_SYNTAX',
+        'X509_V_ERR_CRL_PATH_VALIDATION_ERROR',
+    ],
     "Cryptography_HAS_REMOVE_THREAD_STATE": [
         "ERR_remove_thread_state"
     ],
diff --git a/cryptography/hazmat/bindings/openssl/ssl.py b/cryptography/hazmat/bindings/openssl/ssl.py
index 165bc7a..79f13b6 100644
--- a/cryptography/hazmat/bindings/openssl/ssl.py
+++ b/cryptography/hazmat/bindings/openssl/ssl.py
@@ -128,8 +128,6 @@
 static const long SSL_MODE_AUTO_RETRY;
 static const long SSL3_RANDOM_SIZE;
 typedef ... X509_STORE_CTX;
-static const long X509_V_OK;
-static const long X509_V_ERR_APPLICATION_VERIFICATION;
 typedef ... SSL_METHOD;
 typedef struct ssl_st {
     int version;
diff --git a/cryptography/hazmat/bindings/openssl/x509.py b/cryptography/hazmat/bindings/openssl/x509.py
index 36a15e4..c0be306 100644
--- a/cryptography/hazmat/bindings/openssl/x509.py
+++ b/cryptography/hazmat/bindings/openssl/x509.py
@@ -190,7 +190,6 @@
 DSA *d2i_DSAPublicKey(DSA **, const unsigned char **, long);
 DSA *d2i_DSAPrivateKey(DSA **, const unsigned char **, long);
 
-
 RSA *d2i_RSAPrivateKey_bio(BIO *, RSA **);
 int i2d_RSAPrivateKey_bio(BIO *, RSA *);
 RSA *d2i_RSAPublicKey_bio(BIO *, RSA **);
@@ -237,7 +236,7 @@
 int X509_CRL_set_lastUpdate(X509_CRL *, ASN1_TIME *);
 int X509_CRL_set_nextUpdate(X509_CRL *, ASN1_TIME *);
 
-/* these use STACK_OF(X509_EXTENSION) in 0.9.8e. Once we drop support for
+/* These use STACK_OF(X509_EXTENSION) in 0.9.8e. Once we drop support for
    RHEL/CentOS 5 we should move these back to FUNCTIONS. */
 int X509_REQ_add_extensions(X509_REQ *, X509_EXTENSIONS *);
 X509_EXTENSIONS *X509_REQ_get_extensions(X509_REQ *);
diff --git a/cryptography/hazmat/bindings/openssl/x509_vfy.py b/cryptography/hazmat/bindings/openssl/x509_vfy.py
new file mode 100644
index 0000000..a5dcb6a
--- /dev/null
+++ b/cryptography/hazmat/bindings/openssl/x509_vfy.py
@@ -0,0 +1,172 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import, division, print_function
+
+INCLUDES = """
+#include <openssl/x509_vfy.h>
+
+/*
+ * This is part of a work-around for the difficulty cffi has in dealing with
+ * `STACK_OF(foo)` as the name of a type.  We invent a new, simpler name that
+ * will be an alias for this type and use the alias throughout.  This works
+ * together with another opaque typedef for the same name in the TYPES section.
+ * Note that the result is an opaque type.
+ */
+typedef STACK_OF(ASN1_OBJECT) Cryptography_STACK_OF_ASN1_OBJECT;
+"""
+
+TYPES = """
+static const long Cryptography_HAS_X509_VERIFY_PARAM_SET_HOSTFLAGS;
+static const long Cryptography_HAS_102_VERIFICATION_PARAMS;
+static const long Cryptography_HAS_X509_V_FLAG_TRUSTED_FIRST;
+static const long Cryptography_HAS_100_VERIFICATION_PARAMS;
+static const long Cryptography_HAS_X509_V_FLAG_CHECK_SS_SIGNATURE;
+
+typedef ... Cryptography_STACK_OF_ASN1_OBJECT;
+typedef ... X509_VERIFY_PARAM;
+
+/* While these are defined in the source as ints, they're tagged here
+   as longs, just in case they ever grow to large, such as what we saw
+   with OP_ALL. */
+static const long X509_V_FLAG_CB_ISSUER_CHECK;
+static const long X509_V_FLAG_USE_CHECK_TIME;
+static const long X509_V_FLAG_CRL_CHECK;
+static const long X509_V_FLAG_CRL_CHECK_ALL;
+static const long X509_V_FLAG_IGNORE_CRITICAL;
+static const long X509_V_FLAG_X509_STRICT;
+static const long X509_V_FLAG_ALLOW_PROXY_CERTS;
+static const long X509_V_FLAG_POLICY_CHECK;
+static const long X509_V_FLAG_EXPLICIT_POLICY;
+static const long X509_V_FLAG_INHIBIT_ANY;
+static const long X509_V_FLAG_INHIBIT_MAP;
+static const long X509_V_FLAG_NOTIFY_POLICY;
+static const long X509_V_FLAG_EXTENDED_CRL_SUPPORT;
+static const long X509_V_FLAG_USE_DELTAS;
+static const long X509_V_FLAG_CHECK_SS_SIGNATURE;
+static const long X509_V_FLAG_TRUSTED_FIRST;
+static const long X509_V_FLAG_SUITEB_128_LOS_ONLY;
+static const long X509_V_FLAG_SUITEB_192_LOS;
+static const long X509_V_FLAG_SUITEB_128_LOS;
+static const long X509_V_FLAG_PARTIAL_CHAIN;
+"""
+
+FUNCTIONS = """
+X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void);
+int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *, unsigned long);
+int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *, unsigned long);
+unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *);
+int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *, int);
+int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *, int);
+void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *, time_t);
+int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *, ASN1_OBJECT *);
+int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *,
+                                    Cryptography_STACK_OF_ASN1_OBJECT *);
+void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *, int);
+int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *);
+"""
+
+MACROS = """
+int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *, const unsigned char *,
+                                size_t);
+void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *, unsigned int);
+int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *, const unsigned char *,
+                                 size_t);
+int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *, const unsigned char *,
+                              size_t);
+int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *, const char *);
+"""
+
+CUSTOMIZATIONS = """
+// OpenSSL 1.0.2+, but only some very new releases
+#ifdef X509_VERIFY_PARAM_set_hostflags
+static const long Cryptography_HAS_X509_VERIFY_PARAM_SET_HOSTFLAGS = 1;
+#else
+static const long Cryptography_HAS_X509_VERIFY_PARAM_SET_HOSTFLAGS = 0;
+void (*X509_VERIFY_PARAM_set_hostflags)(X509_VERIFY_PARAM *,
+                                        unsigned int) = NULL;
+#endif
+
+// OpenSSL 1.0.2+
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
+static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 1;
+#else
+static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 0;
+// X509_V_FLAG_TRUSTED_FIRST is also new in 1.0.2, but added separately below
+static const long X509_V_FLAG_SUITEB_128_LOS_ONLY = 0;
+static const long X509_V_FLAG_SUITEB_192_LOS = 0;
+static const long X509_V_FLAG_SUITEB_128_LOS = 0;
+static const long X509_V_FLAG_PARTIAL_CHAIN = 0;
+
+int (*X509_VERIFY_PARAM_set1_host)(X509_VERIFY_PARAM *, const unsigned char *,
+                                   size_t) = NULL;
+int (*X509_VERIFY_PARAM_set1_email)(X509_VERIFY_PARAM *, const unsigned char *,
+                                    size_t) = NULL;
+int (*X509_VERIFY_PARAM_set1_ip)(X509_VERIFY_PARAM *, const unsigned char *,
+                                 size_t) = NULL;
+int (*X509_VERIFY_PARAM_set1_ip_asc)(X509_VERIFY_PARAM *, const char *) = NULL;
+#endif
+
+// OpenSSL 1.0.2+, *or* Fedora 20's flavor of OpenSSL 1.0.1e...
+#ifdef X509_V_FLAG_TRUSTED_FIRST
+static const long Cryptography_HAS_X509_V_FLAG_TRUSTED_FIRST = 1;
+#else
+static const long Cryptography_HAS_X509_V_FLAG_TRUSTED_FIRST = 0;
+static const long X509_V_FLAG_TRUSTED_FIRST = 0;
+#endif
+
+// OpenSSL 1.0.0+
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+static const long Cryptography_HAS_100_VERIFICATION_PARAMS = 1;
+#else
+static const long Cryptography_HAS_100_VERIFICATION_PARAMS = 0;
+static const long X509_V_FLAG_EXTENDED_CRL_SUPPORT = 0;
+static const long X509_V_FLAG_USE_DELTAS = 0;
+#endif
+
+// OpenSSL 0.9.8recent+
+#ifdef X509_V_FLAG_CHECK_SS_SIGNATURE
+static const long Cryptography_HAS_X509_V_FLAG_CHECK_SS_SIGNATURE = 1;
+#else
+static const long Cryptography_HAS_X509_V_FLAG_CHECK_SS_SIGNATURE = 0;
+static const long X509_V_FLAG_CHECK_SS_SIGNATURE = 0;
+#endif
+"""
+
+CONDITIONAL_NAMES = {
+    "Cryptography_HAS_X509_VERIFY_PARAM_SET_HOSTFLAGS": [
+        "X509_VERIFY_PARAM_set_hostflags",
+    ],
+    "Cryptography_HAS_102_VERIFICATION_PARAMS": [
+        "X509_V_FLAG_SUITEB_128_LOS_ONLY",
+        "X509_V_FLAG_SUITEB_192_LOS",
+        "X509_V_FLAG_SUITEB_128_LOS",
+        "X509_V_FLAG_PARTIAL_CHAIN",
+
+        "X509_VERIFY_PARAM_set1_host",
+        "X509_VERIFY_PARAM_set1_email",
+        "X509_VERIFY_PARAM_set1_ip",
+        "X509_VERIFY_PARAM_set1_ip_asc",
+    ],
+    "Cryptography_HAS_X509_V_FLAG_TRUSTED_FIRST": [
+        "X509_V_FLAG_TRUSTED_FIRST",
+    ],
+    "Cryptography_HAS_100_VERIFICATION_PARAMS": [
+        "Cryptography_HAS_100_VERIFICATION_PARAMS",
+        "X509_V_FLAG_EXTENDED_CRL_SUPPORT",
+        "X509_V_FLAG_USE_DELTAS",
+    ],
+    "Cryptography_HAS_X509_V_FLAG_CHECK_SS_SIGNATURE": [
+        "X509_V_FLAG_CHECK_SS_SIGNATURE",
+    ]
+}
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index d5a2bee..e7a63f2 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -13,6 +13,7 @@
 crypto
 cryptographic
 cryptographically
+Debian
 decrypt
 decrypted
 decrypting
@@ -35,6 +36,7 @@
 Schneier
 scrypt
 testability
+Ubuntu
 unencrypted
 unpadded
 unpadding
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/KeyGenRSA.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/KeyGenRSA.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/Readme.txt b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/Readme.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGen15_186-2.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGen15_186-2.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGen15_186-2.txt b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGen15_186-2.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGen15_186-3.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGen15_186-3.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenPSS_186-2.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenPSS_186-2.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenPSS_186-2.txt b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenPSS_186-2.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenPSS_186-3.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenPSS_186-3.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenRSA.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenRSA.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenRSA_186-2.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenRSA_186-2.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenRSA_186-2.txt b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigGenRSA_186-2.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigVer15_186-3.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigVer15_186-3.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigVerPSS_186-3.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigVerPSS_186-3.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigVerRSA.rsp b/vectors/cryptography_vectors/asymmetric/RSA/FIPS_186-2/SigVerRSA.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCGFSbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCGFSbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCGFSbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCGFSbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCGFSbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCGFSbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCKeySbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCKeySbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCKeySbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCKeySbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCKeySbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCKeySbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCMMT128.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCMMT128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCMMT192.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCMMT192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCMMT256.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCMMT256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarKey128.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarKey128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarKey192.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarKey192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarKey256.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarKey256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarTxt128.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarTxt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarTxt192.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarTxt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarTxt256.rsp b/vectors/cryptography_vectors/ciphers/AES/CBC/CBCVarTxt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128GFSbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128GFSbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128GFSbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128GFSbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128GFSbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128GFSbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128KeySbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128KeySbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128KeySbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128KeySbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128KeySbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128KeySbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128MMT256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarKey128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarKey128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarKey192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarKey192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarKey256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarKey256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarTxt128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarTxt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarTxt192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarTxt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarTxt256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB128VarTxt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1GFSbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1GFSbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1GFSbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1GFSbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1GFSbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1GFSbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1KeySbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1KeySbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1KeySbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1KeySbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1KeySbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1KeySbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1MMT128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1MMT128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1MMT192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1MMT192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1MMT256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1MMT256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarKey128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarKey128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarKey192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarKey192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarKey256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarKey256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarTxt128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarTxt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarTxt192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarTxt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarTxt256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB1VarTxt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8GFSbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8GFSbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8GFSbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8GFSbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8GFSbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8GFSbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8KeySbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8KeySbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8KeySbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8KeySbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8KeySbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8KeySbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8MMT128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8MMT128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8MMT192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8MMT192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8MMT256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8MMT256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarKey128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarKey128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarKey192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarKey192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarKey256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarKey256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarTxt128.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarTxt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarTxt192.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarTxt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarTxt256.rsp b/vectors/cryptography_vectors/ciphers/AES/CFB/CFB8VarTxt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBGFSbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBGFSbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBGFSbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBGFSbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBGFSbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBGFSbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBKeySbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBKeySbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBKeySbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBKeySbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBKeySbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBKeySbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBMMT128.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBMMT128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBMMT192.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBMMT192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBMMT256.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBMMT256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarKey128.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarKey128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarKey192.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarKey192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarKey256.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarKey256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarTxt128.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarTxt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarTxt192.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarTxt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarTxt256.rsp b/vectors/cryptography_vectors/ciphers/AES/ECB/ECBVarTxt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/GCM/gcmDecrypt128.rsp b/vectors/cryptography_vectors/ciphers/AES/GCM/gcmDecrypt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/GCM/gcmDecrypt192.rsp b/vectors/cryptography_vectors/ciphers/AES/GCM/gcmDecrypt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/GCM/gcmDecrypt256.rsp b/vectors/cryptography_vectors/ciphers/AES/GCM/gcmDecrypt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/GCM/gcmEncryptExtIV128.rsp b/vectors/cryptography_vectors/ciphers/AES/GCM/gcmEncryptExtIV128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/GCM/gcmEncryptExtIV192.rsp b/vectors/cryptography_vectors/ciphers/AES/GCM/gcmEncryptExtIV192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/GCM/gcmEncryptExtIV256.rsp b/vectors/cryptography_vectors/ciphers/AES/GCM/gcmEncryptExtIV256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBGFSbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBGFSbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBGFSbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBGFSbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBGFSbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBGFSbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBKeySbox128.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBKeySbox128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBKeySbox192.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBKeySbox192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBKeySbox256.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBKeySbox256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT128.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT192.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT256.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBMMT256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarKey128.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarKey128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarKey192.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarKey192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarKey256.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarKey256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarTxt128.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarTxt128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarTxt192.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarTxt192.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarTxt256.rsp b/vectors/cryptography_vectors/ciphers/AES/OFB/OFBVarTxt256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES128.rsp b/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES256.rsp b/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES128.rsp b/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES128.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES256.rsp b/vectors/cryptography_vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES256.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA1/Readme.txt b/vectors/cryptography_vectors/hashes/SHA1/Readme.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA1/SHA1LongMsg.rsp b/vectors/cryptography_vectors/hashes/SHA1/SHA1LongMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA1/SHA1Monte.rsp b/vectors/cryptography_vectors/hashes/SHA1/SHA1Monte.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA1/SHA1Monte.txt b/vectors/cryptography_vectors/hashes/SHA1/SHA1Monte.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA1/SHA1ShortMsg.rsp b/vectors/cryptography_vectors/hashes/SHA1/SHA1ShortMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/Readme.txt b/vectors/cryptography_vectors/hashes/SHA2/Readme.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA224LongMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA224LongMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA224Monte.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA224Monte.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA224Monte.txt b/vectors/cryptography_vectors/hashes/SHA2/SHA224Monte.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA224ShortMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA224ShortMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA256LongMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA256LongMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA256Monte.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA256Monte.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA256Monte.txt b/vectors/cryptography_vectors/hashes/SHA2/SHA256Monte.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA256ShortMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA256ShortMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA384LongMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA384LongMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA384Monte.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA384Monte.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA384Monte.txt b/vectors/cryptography_vectors/hashes/SHA2/SHA384Monte.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA384ShortMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA384ShortMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA512LongMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA512LongMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA512Monte.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA512Monte.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA512Monte.txt b/vectors/cryptography_vectors/hashes/SHA2/SHA512Monte.txt
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/SHA2/SHA512ShortMsg.rsp b/vectors/cryptography_vectors/hashes/SHA2/SHA512ShortMsg.rsp
old mode 100755
new mode 100644
diff --git a/vectors/cryptography_vectors/hashes/whirlpool/iso-test-vectors.txt b/vectors/cryptography_vectors/hashes/whirlpool/iso-test-vectors.txt
old mode 100755
new mode 100644