Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implemented full BLISS support for IKEv2 public key authentication and the ↵ | Andreas Steffen | 2014-11-29 | 6 | -7/+15 | |
| | | | | pki tool | |||||
* | Applied bit packing to BLISS public key | Andreas Steffen | 2014-11-29 | 5 | -55/+68 | |
| | ||||||
* | Wipe BLISS private key memory | Andreas Steffen | 2014-11-29 | 1 | -2/+8 | |
| | ||||||
* | Created bliss_bitpacker class to encode BLISS signatures | Andreas Steffen | 2014-11-29 | 8 | -46/+464 | |
| | ||||||
* | Skip the unused bits field of the ASN.1 BIT STRING encoding | Andreas Steffen | 2014-11-29 | 1 | -1/+1 | |
| | ||||||
* | Store NTT A of BLISS public key a | Andreas Steffen | 2014-11-29 | 2 | -28/+24 | |
| | ||||||
* | unit-tests: created bliss_sign test suite | Andreas Steffen | 2014-11-29 | 5 | -1/+91 | |
| | ||||||
* | Finished BLISS signature generation | Andreas Steffen | 2014-11-29 | 12 | -157/+1170 | |
| | ||||||
* | Implemented Gaussian rejection sampler | Andreas Steffen | 2014-11-29 | 6 | -16/+496 | |
| | | | | | The bliss_sampler class uses the mgf1_bitspender as a pseudo-random source. | |||||
* | Implemented get_byte() method for mgf1_bitspender class | Andreas Steffen | 2014-11-29 | 4 | -26/+78 | |
| | | | | | | The new get_byte() method returns a pseudo-random byte at a time. Changed the get_bits() interface to the same interface as get_byte(). Updated the mgf1 unit-tests accordingly. | |||||
* | Added support for BLISS-III | Andreas Steffen | 2014-11-29 | 1 | -2/+17 | |
| | ||||||
* | Started implementing BLISS signature generation | Andreas Steffen | 2014-11-29 | 7 | -22/+26 | |
| | ||||||
* | Store and parse BLISS private and public keys in DER and PEM format | Andreas Steffen | 2014-11-29 | 7 | -28/+424 | |
| | | | | | | | | Additionally generate SHA-1 fingerprints of raw BLISS subjectPublicKey and subjectPublicKeyInfo objects. Some basic functions used by the bliss_public_key class are shared with the bliss_private_key class. | |||||
* | unit-tests: Created separate mgf1 test suite | Andreas Steffen | 2014-11-29 | 5 | -147/+270 | |
| | ||||||
* | Use mgf1_bitspender in ntru_poly_create_from_seed | Andreas Steffen | 2014-11-29 | 2 | -52/+16 | |
| | ||||||
* | Use mgf1_bitspender to generate random secret key | Andreas Steffen | 2014-11-29 | 1 | -280/+226 | |
| | ||||||
* | Implemented bitspender based on the MGF1 mask generator function | Andreas Steffen | 2014-11-29 | 4 | -3/+223 | |
| | ||||||
* | unit-tests: Added bliss_fft test suite | Andreas Steffen | 2014-11-29 | 5 | -0/+193 | |
| | ||||||
* | Moved mgf1 class to libstrongswan/crypto/mgf1 | Andreas Steffen | 2014-11-29 | 7 | -62/+51 | |
| | ||||||
* | Defined BLISS I and IV parameter sets | Andreas Steffen | 2014-11-29 | 4 | -19/+365 | |
| | ||||||
* | Added BLISS OIDs in ITA-HSR OID tree | Andreas Steffen | 2014-11-29 | 1 | -0/+10 | |
| | ||||||
* | Implemented Number Theoretic Transform using the FFT algorithm | Andreas Steffen | 2014-11-29 | 8 | -3/+869 | |
| | | | | | | By pre-multiplying the input arrays with a linear phase the fast multiplication via FFT and inverse FFT computes a negative wrapped convolution corresponding to a modulus of x^n+1. | |||||
* | Created framework for BLISS post-quantum signature algorithm | Andreas Steffen | 2014-11-29 | 10 | -5/+648 | |
| | ||||||
* | watcher: Proper handle poll() POLLHUP/NVAL signaling | Martin Willi | 2014-11-28 | 1 | -13/+36 | |
| | | | | | | | poll() may return POLLHUP or POLLNVAL for given file descriptors. To handle these properly, we signal them to the EXCEPT watcher state, if registered. If not, we call the read/write callbacks, so they can properly fail when trying to read from or write to the file descriptor. | |||||
* | windows: Properly set errno for read/write functions using Winsock | Martin Willi | 2014-11-28 | 1 | -4/+4 | |
| | ||||||
* | windows: Move the compatibility header to the compat subfolder | Martin Willi | 2014-11-21 | 4 | -6/+6 | |
| | ||||||
* | apple: Wrap accept() and recvfrom() with poll(2) instead of select | Martin Willi | 2014-11-21 | 1 | -5/+11 | |
| | ||||||
* | apple: Introduce a central compatibility header with all __APPLE__ quirks | Martin Willi | 2014-11-21 | 6 | -87/+113 | |
| | ||||||
* | watcher: Use Windows read/write(2) wrappers instead of compile-conditions | Martin Willi | 2014-11-21 | 1 | -8/+0 | |
| | ||||||
* | windows: Provide a write(2) wrapper that uses send(2) on sockets | Martin Willi | 2014-11-21 | 2 | -0/+22 | |
| | ||||||
* | windows: Provide a read(2) wrapper that uses recv(2) on sockets | Martin Willi | 2014-11-21 | 2 | -0/+25 | |
| | ||||||
* | unit-tests: Test cancellability of some cancellation points we rely on | Martin Willi | 2014-11-21 | 1 | -0/+192 | |
| | ||||||
* | thread: Test for pending cancellation requests before poll()ing on OS X | Martin Willi | 2014-11-21 | 1 | -0/+20 | |
| | | | | | As we are now using poll(2) instead of select(2), we need the work-around from 76dc329e for poll() as well. | |||||
* | watcher: Use poll(2) instead of select | Martin Willi | 2014-11-21 | 1 | -24/+38 | |
| | ||||||
* | tun-device: Read from tun to buffer on stack to avoid over-allocation of packets | Martin Willi | 2014-11-21 | 1 | -8/+6 | |
| | | | | | | | Instead of allocating MTU-sized buffers for each packet, read to a stack buffer and copy to an allocation of the actual packet size. While it requires an additional copy on non-Apple platforms, this should make allocation more efficient for small packets. | |||||
* | tun-device: Remove the superfluous use of select() before read() | Martin Willi | 2014-11-21 | 2 | -19/+6 | |
| | ||||||
* | windows: Provide a poll(2) wrapper calling WSAPoll() | Martin Willi | 2014-11-21 | 3 | -0/+40 | |
| | ||||||
* | host: Ignore spaces around - when parsing ranges | Tobias Brunner | 2014-10-30 | 3 | -9/+23 | |
| | ||||||
* | host: Add function to create two hosts from a range definition | Tobias Brunner | 2014-10-30 | 3 | -0/+124 | |
| | ||||||
* | constraints: Add permitted/excludedNameConstraints check | Martin Willi | 2014-10-30 | 3 | -0/+400 | |
| | ||||||
* | constraints: Use a more specific FQDN/email name constraint matching | Martin Willi | 2014-10-30 | 1 | -22/+73 | |
| | | | | | | | While RFC 5280 is not very specific about the matching rules of subjectAltNames, it has some examples how to match email and FQDN constraints. We try to follow these examples, and restrict DNS names to subdomain matching and email to full email, host or domain matching. | |||||
* | constraints: Add requireExplicitPolicy tests | Martin Willi | 2014-10-30 | 1 | -0/+44 | |
| | ||||||
* | constraints: Add inhibitAnyPolicy tests | Martin Willi | 2014-10-30 | 1 | -0/+44 | |
| | ||||||
* | constraints: Add inhibitPolicyMapping tests | Martin Willi | 2014-10-30 | 1 | -4/+83 | |
| | ||||||
* | constraints: Don't reject certificates with invalid certificate policies | Martin Willi | 2014-10-30 | 1 | -25/+97 | |
| | | | | | | | | | | | | Instead of rejecting the certificate completely if a certificate has a policy OID that is actually not allowed by the issuer CA, we accept it. However, the certificate policy itself is still considered invalid, and is not returned in the auth config resulting from trust chain operations. A user must make sure to rely on the returned auth config certificate policies instead of the policies contained in the certificate; even if the certificate is valid, the policy OID itself in the certificate are not to be trusted anymore. | |||||
* | constraints: Add certificate policy and policy mapping unit tests | Martin Willi | 2014-10-30 | 3 | -0/+472 | |
| | ||||||
* | identification: Support custom types in string constructor prefixes | Martin Willi | 2014-10-30 | 3 | -0/+48 | |
| | ||||||
* | identification: Support prefixes in string constructors for an explicit type | Martin Willi | 2014-10-30 | 3 | -0/+58 | |
| | ||||||
* | unit-tests: Re-align identification_create_from_string() unit test table data | Martin Willi | 2014-10-30 | 1 | -52/+52 | |
| | ||||||
* | threading: Support rwlock try_write_lock() on Windows | Martin Willi | 2014-10-30 | 1 | -2/+0 | |
| | | | | | | | | | | | We explicitly avoided TryAcquireSRWLockExclusive() because of crashes. This issue was caused by a MinGW-w64 bug (mingw-w64 fix 46f77afc). Using a newer toolchain works fine. While try_write_lock() obviously can fail, not supporting it is not really an option, as some algorithms depend on occasionally successful calls. Certificate caching in the certificate manager and the cred_set cache rely on successful try_write_lock()ing. |