Bogdan Opanchuk
b96888cafb
Add reencryption functionality
2021-03-28 12:51:45 -07:00
Bogdan Opanchuk
2c28ae8bc2
Add Capsule class and encrypt()/decrypt_original()
2021-03-28 12:51:45 -07:00
Bogdan Opanchuk
bbf168e08b
Clean slate
2021-03-18 11:53:52 -07:00
jMyles
b89decb8c1
Facility for clearing CFrags.
2019-08-09 23:17:31 +02:00
jMyles
3193d1541d
Provide public way to get first cfrag in order to obtain point_precursor.
2019-08-09 23:17:31 +02:00
jMyles
5bcc5230ac
Attached CFrags are really set - we don't ever want repeat CFrags, right?
2019-08-09 23:17:24 +02:00
jMyles
f98b9ae5a8
Provide method for checking if a specific cfrag is attached to a Capsule.
2019-08-09 23:11:23 +02:00
David Núñez
7568fff780
Raise UmbralDecryptionError instead of cryptography.exception.InvalidTag
2019-03-27 16:31:39 +01:00
David Núñez
af0fb2d028
Remove copyright notice from individual files
2019-02-22 11:07:19 +01:00
David Núñez
368d58c509
Correct syntax for new style classes
2019-02-19 10:12:42 +01:00
David Núñez
8e662707ab
Clean up, clean up, everybody clean up.
2019-01-02 22:18:12 +01:00
David Núñez
25774a52f7
KFrag validation is now optional in pre.reencrypt. By default it's on.
2019-01-02 22:18:12 +01:00
David Núñez
78904b8fff
prove_correctness now is a method of CFrag, like verify_correctness
2018-11-19 16:10:40 +01:00
David Núñez
a4977252a1
Addressing RFCs
2018-11-19 16:09:36 +01:00
David Núñez
bce37b790a
Protected scope for pre._prove_cfrag_correctness()
2018-11-16 11:16:12 +01:00
David Núñez
9cfbf1b50c
CorrectnessProofs use ExtendedKeccak for compatibility with Solidity
2018-11-16 11:16:12 +01:00
David Núñez
a6cb2a0450
Removes protected attribute scope in some umbral classes
2018-11-16 11:16:12 +01:00
David Núñez
716428a8f9
Dismember umbral._pre and put the pieces where they belong
2018-11-16 11:16:12 +01:00
David Núñez
977bee01a0
Divide umbral.fragments into umbral.kfrags and umbral.cfrags
2018-11-16 11:16:12 +01:00
David Núñez
5b169d27b1
Simplifying combination of Cfrags when threshold=1
2018-11-16 11:16:12 +01:00
David Núñez
62a0392b58
New umbral.random_oracles module to gather all hash and KDF functions
2018-11-16 11:07:01 +01:00
David Núñez
87b24a0083
Some type annotation improvements and other minor change requests
2018-10-11 21:01:21 +02:00
David Núñez
4b662f91a8
Handling other internal umbral.pre constants with constant_sorrow
2018-10-06 21:31:46 +02:00
David Núñez
ea442fe702
Janitorial stuff
2018-10-06 21:31:39 +02:00
David Núñez
236ff239fe
Use constant_sorrow to handle signing mode constants in KFrag
2018-10-06 19:00:34 +02:00
David Núñez
0eb7e22dc4
New signing mode in KFrag for stating what correctness keys are signed
2018-10-06 19:00:34 +02:00
David Núñez
4e331f3010
Rename pre.split_rekey to pre.generate_kfrags. Introduce changes in args
2018-10-06 19:00:34 +02:00
David Núñez
d6ee0cc4e5
Capsule._reconstruct_shamirs is absorbed into pre._decapsulate_reencrypted
2018-10-06 19:00:34 +02:00
David Núñez
ecc166f23c
Activated capsules don't exist anymore as objects of the Capsule class
2018-10-06 19:00:34 +02:00
David Núñez
7f50bf48b8
More type checking on re-encrypt and decrypt APIs
2018-10-06 19:00:34 +02:00
David Núñez
054777eb53
KFrags now has 2 signatures (Bob and proxy) and a new point
...
* point_precursor removes need for point_xcoord and point_noninteractive
* Fixes access to protected attributes in some places
2018-10-06 19:00:34 +02:00
David Núñez
21c50eb575
Allows to set a single correctness key. Tests for correctness keys.
2018-09-21 12:51:57 +02:00
David Núñez
795325b5ad
Rename variables shadowing `id` function
2018-09-19 13:06:06 +02:00
David Núñez
5fc94b4070
Delegating and receiving pubkeys are now optional for kfrag validation
2018-09-19 13:06:06 +02:00
David Núñez
9f358ccff9
Check ciphertext min length in pre.decrypt. Some reflow too
2018-08-31 17:12:32 +02:00
David Núñez
51357f24ce
Adds __repr__ to Capsule, KFrag and CFrag, and changes it in UmbralPublicKey
2018-08-31 17:12:32 +02:00
David Núñez
08d6b9d44f
Fix incorrect type annotations in pre.Capsule and Curve
2018-08-15 22:33:54 -05:00
David Núñez
cd18086b1b
pre.reencrypt raises KFrag.NotValid when necessary
2018-08-03 22:24:21 -05:00
tuxxy
d9caff48f8
Add license headers
2018-07-25 11:55:12 -06:00
Kieran Prasch
19b1991de6
Hand-picked type data to follow-up monkeytype
2018-07-09 12:26:32 -06:00
Kieran Prasch
2fe18c7144
Initial bulk application of type hints to pyUmbral
2018-07-09 12:11:43 -06:00
David Núñez
0d206cb279
Add check for 0<M<=N in pre.split_rekey. Tests for that.
2018-06-25 13:55:55 -07:00
David Núñez
38eff317c4
Fixes deserialization problems for non-default curves
...
* Passes the curve to BystringSplitter
2018-06-06 11:31:33 +02:00
David Núñez
d70d21dfe0
Fix some functions definition according to PEP8
2018-06-05 03:49:22 +02:00
David Núñez
9e126bde29
Fixes bug in Capsule.attach_cfrag that allowed to attach incorrect CFrag
2018-06-05 02:52:23 +02:00
David Núñez
5618b25292
Simplified public API for umbral.pre
...
* Functions in `pre` now only take Umbral keys as arguments, rather than primitive types (Point, CurveBN)
* Remove unnecessary arguments from public facing and internal methods when they can be extracted from a Capsule, UmbralPublicKey or UmbralPrivateKey
* Adds a getter in Capsule for correctness keys
* Adapts the test suite to new simplified API
2018-06-05 02:52:16 +02:00
David Núñez
c736370bcc
Remove params as an argument when possible
...
* Instead, takes params from Capsules or UmbralPublicKeys
* Makes params required in some places (Capsule.init, Capsule.from_bytes, etc)
* Removes pre.CHACHA20_KEY_SIZE constant and use dem.DEM_KEYSIZE instead
2018-06-05 02:11:32 +02:00
David Núñez
c98f723eec
Check that params match when setting correctness keys
2018-06-05 02:11:32 +02:00
David Núñez
03b4138229
Add params when deserializing Capsule
2018-06-05 02:11:32 +02:00
jMyles
e04a44c239
Capsule length now reflects number of attached CFrags.
2018-06-01 23:50:20 -07:00