Commit Graph

34 Commits

Author SHA1 Message Date
Ryan X. Charles 385edbcc92 simplify ECIES interface
the toKeypair doesn't really need to be a keypair. upon encrypting, it merely
needs to be a pubkey. and upon decrypting, it needs to be a privkey.
2014-09-15 11:19:18 -07:00
Ryan X. Charles fbfa64582c autogenerated fromkeypair if not present 2014-09-15 10:43:14 -07:00
Ryan X. Charles 79d79012d4 fix bug where you can't use isForMe without payloadKeypair
It should be possible to check to see if a message isForMe with only the
scanKeypair, and not the payloadKeypair. There was a bug where only the
scanKeypair was being used to produce the receiveKeypair, but this was a
mistake. Both the scanPubkey and payloadPubkey should be necessary to produce
the receivePubkey, and both the scanPrivkey and payloadPrivkey should be
necessary to produce the receivePrivkey. If an online computer has only the
public keys of both (and the scanPrivkey), then that is good enough to check
for isForMe.
2014-09-12 17:24:00 -07:00
Ryan X. Charles 5a86a1a5c6 StealthMessage
This code should be regarded as being a proof-of-concept, and needs more review
before being used in production code. At least one thing is guaranteed to
change, and that is the format of a stealth address.
2014-09-10 14:00:53 -07:00
Ryan X. Charles 219aa528c8 AsReceiver implied 2014-09-02 15:54:24 -07:00
Ryan X. Charles 558a7672ef Stealthkey AsSender functions obsolete
use StealthAddress instead
2014-09-02 15:28:32 -07:00
Ryan X. Charles d1a570135d getSharedKeypair & getReceivePubkey 2014-09-02 15:25:16 -07:00
Ryan X. Charles 48ae69cab0 convenience: StealthAddress(str) or StealthAddress(buf) 2014-09-02 14:23:11 -07:00
Ryan X. Charles 36fd6b2d9c take address stuff out of stealthkey
...that is what StealthAddress is now for
2014-09-02 12:53:41 -07:00
Ryan X. Charles 139fe02355 StealthAddress 2014-09-02 12:48:36 -07:00
Ryan X. Charles 258dab9d6d convenience: Stealth(payloadKeypair, scanKeypair) 2014-09-02 12:08:33 -07:00
Ryan X. Charles f028b6b913 Stealth -> Stealthkey
More explanatory. Will break up into separate Stealthkey, StealthAddress, and
StealthMessage classes.
2014-08-29 14:34:01 -07:00
Ryan X. Charles 32fabd0c0f Key -> Keypair
"Keypair" is a more explanatory name, and also should be less confused with
other kinds of keys (particularly "cipher keys", which are the keys used in
symmetric block ciphers, especially AES).
2014-08-29 14:18:56 -07:00
Ryan X. Charles 40a2007e18 confusingly named SymEnc -> accurately named AESCBC
This will also further discourage use amongst anyone who doesn't understand
what this is.
2014-08-29 13:07:49 -07:00
Ryan X. Charles e2824035bb Pubkey.prototype.set 2014-08-28 17:41:38 -07:00
Ryan X. Charles 109f31cfdb Privkey.prototype.set 2014-08-28 17:26:56 -07:00
Ryan X. Charles 6b4bc4c49c Stealth.prototype.set 2014-08-28 17:00:34 -07:00
Ryan X. Charles 28d3a40704 Key.prototype.set 2014-08-28 16:18:36 -07:00
Ryan X. Charles cc316e9455 ECIES 2014-08-28 14:43:21 -07:00
Ryan X. Charles 6f54d4cde6 Encryption -> SymEnc
This is more explanatory ("symmetric encryption") and also does not encourage
its use for people who don't know what they're doing. (It should only be used
in combination with some type of message authentication.)
2014-08-28 11:10:40 -07:00
Ryan X. Charles 1cb2f900af symmetric encryption convenience class 2014-08-27 17:15:10 -07:00
Ryan X. Charles 73b904ce21 CBC decrypt 2014-08-25 21:16:33 -07:00
Ryan X. Charles dfa190b5a5 blockbufs2buf 2014-08-25 21:02:00 -07:00
Ryan X. Charles ae319ffcbc unpad 2014-08-25 20:53:29 -07:00
Ryan X. Charles a6e74666c8 decrypt blocks 2014-08-25 20:38:39 -07:00
Ryan X. Charles eddeb60d7d decrypt block 2014-08-25 20:25:18 -07:00
Ryan X. Charles 97e40f9ac6 rename keybuf -> cipherkeybuf
...since this use of "key" is very different than the public/private key pair
that is key.js
2014-08-25 16:38:53 -07:00
Ryan X. Charles a09cac4ba6 block cipher should support "encrypt" and "decrypt" 2014-08-25 16:30:04 -07:00
Ryan X. Charles 12f29a9b52 CBC encryption 2014-08-25 16:25:01 -07:00
Ryan X. Charles 38d9ab65af xor buffers ... will be useful for CBC 2014-08-24 20:51:56 -07:00
Ryan X. Charles 1b1ecd989a pkcs7
This is a standard algorithm for the purposes of padding a block for a block
cipher. It will be used in CBC, which in turned will be used with AES for
ECIES.
2014-08-24 19:38:20 -07:00
Ryan X. Charles 1dead4cbc4 AES 2014-08-24 17:33:09 -07:00
Ryan X. Charles f11ed4d20b bug: should mod bn addition
when adding two private keys to get a new private key, you should mod the
result with N so that it is always less than N.
2014-08-15 15:09:28 -04:00
Ryan X. Charles bc1c4235f2 basic stealth address support
Math only. Does not yet support transactions. Not yet compatible with Dark
Wallet.
2014-08-13 20:54:05 -04:00