@@ -41,7 +41,7 @@ pub struct EncryptionToolkit;
41
41
42
42
#[ wasm_bindgen]
43
43
impl EncryptionToolkit {
44
- /// Returns the number of field elements required to decrypt an Entry
44
+ /// Returns the number of field elements required to decrypt an Entry.
45
45
pub ( crate ) fn num_entry_randomizers ( entry : & CiphertextEntryNative ) -> Result < u16 , String > {
46
46
match entry {
47
47
// Constant and public entries do not need to be encrypted.
@@ -87,6 +87,7 @@ impl EncryptionToolkit {
87
87
// Initialize an index to keep track of the randomizer index.
88
88
let mut index: usize = 0 ;
89
89
90
+ // Get the reference of the native record.
90
91
let record_native = & * * record;
91
92
92
93
// Decrypt the owner.
@@ -149,8 +150,8 @@ impl EncryptionToolkit {
149
150
150
151
/// Creates a record view key from the view key. This method is intended to be used
151
152
/// by the record owner to enable decryption of a select record by a third party.
152
- #[ wasm_bindgen( js_name = "generateRecordVk " ) ]
153
- pub fn generate_record_vk ( view_key : & ViewKey , record_ciphertext : & RecordCiphertext ) -> Result < Field , String > {
153
+ #[ wasm_bindgen( js_name = "generateRecordViewkey " ) ]
154
+ pub fn generate_record_view_key ( view_key : & ViewKey , record_ciphertext : & RecordCiphertext ) -> Result < Field , String > {
154
155
let record_nonce = record_ciphertext. nonce ( ) ;
155
156
Ok ( record_nonce. scalar_multiply ( & view_key. to_scalar ( ) ) . to_x_coordinate ( ) )
156
157
}
@@ -187,14 +188,14 @@ mod tests {
187
188
use std:: str:: FromStr ;
188
189
use wasm_bindgen_test:: wasm_bindgen_test;
189
190
191
+ const NON_OWNER_VIEW_KEY : & str = "AViewKey1e2WyreaH5H4RBcioLL2GnxvHk5Ud46EtwycnhTdXLmXp" ;
192
+ const OWNER_CIPHERTEXT : & str = "record1qyqsqpe2szk2wwwq56akkwx586hkndl3r8vzdwve32lm7elvphh37rsyqyxx66trwfhkxun9v35hguerqqpqzqrtjzeu6vah9x2me2exkgege824sd8x2379scspmrmtvczs0d93qttl7y92ga0k0rsexu409hu3vlehe3yxjhmey3frh2z5pxm5cmxsv4un97q" ;
190
193
const OWNER_PLAINTEXT : & str = r"{
191
194
owner: aleo1j7qxyunfldj2lp8hsvy7mw5k8zaqgjfyr72x2gh3x4ewgae8v5gscf5jh3.private,
192
195
microcredits: 1500000000000000u64.private,
193
196
_nonce: 3077450429259593211617823051143573281856129402760267155982965992208217472983group.public
194
197
}" ;
195
- const OWNER_CIPHERTEXT : & str = "record1qyqsqpe2szk2wwwq56akkwx586hkndl3r8vzdwve32lm7elvphh37rsyqyxx66trwfhkxun9v35hguerqqpqzqrtjzeu6vah9x2me2exkgege824sd8x2379scspmrmtvczs0d93qttl7y92ga0k0rsexu409hu3vlehe3yxjhmey3frh2z5pxm5cmxsv4un97q" ;
196
198
const OWNER_VIEW_KEY : & str = "AViewKey1ccEt8A2Ryva5rxnKcAbn7wgTaTsb79tzkKHFpeKsm9NX" ;
197
- const NON_OWNER_VIEW_KEY : & str = "AViewKey1e2WyreaH5H4RBcioLL2GnxvHk5Ud46EtwycnhTdXLmXp" ;
198
199
const RECORD_TAG : & str = "1796466189545157638691489609907096471289658804813960182690905095269699169603field" ;
199
200
200
201
#[ wasm_bindgen_test]
@@ -203,7 +204,7 @@ mod tests {
203
204
let owner_view_key = ViewKey :: from_str ( OWNER_VIEW_KEY ) . unwrap ( ) ;
204
205
205
206
// Generate the record view key
206
- let record_vk = EncryptionToolkit :: generate_record_vk ( & owner_view_key, & owner_ciphertext) . unwrap ( ) ;
207
+ let record_vk = EncryptionToolkit :: generate_record_view_key ( & owner_view_key, & owner_ciphertext) . unwrap ( ) ;
207
208
208
209
// Decrypt with the owner's view key
209
210
let record_plaintext_decrypted =
@@ -217,7 +218,7 @@ mod tests {
217
218
let non_owner_view_key = ViewKey :: from_str ( NON_OWNER_VIEW_KEY ) . unwrap ( ) ;
218
219
219
220
// Generate the record view key with a non-owner view key
220
- let record_vk = EncryptionToolkit :: generate_record_vk ( & non_owner_view_key, & owner_ciphertext) . unwrap ( ) ;
221
+ let record_vk = EncryptionToolkit :: generate_record_view_key ( & non_owner_view_key, & owner_ciphertext) . unwrap ( ) ;
221
222
222
223
// Attempt to decrypt with the non-owner's view key
223
224
let result = EncryptionToolkit :: decrypt_record_symmetric_unchecked ( & record_vk, & owner_ciphertext) ;
0 commit comments