diff --git a/README.md b/README.md index 357c9e2..4ecb469 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # blockchainIDsystem A blockchain based anonymous distributed login system -### Warning! Academical version +Outdated repository. The current repository being developed is: https://github.com/arnaucode/darkID + +### Warning! Academical version. Outdated repository. This version is only for academical purposes, is not a version to run in production. Everything has been developed from scratch (the p2p network, the blockchain, the RSA library, ...) to learn it deeply. Also this version is not finished. diff --git a/clientApp/GUI/views/main/main.html b/clientApp/GUI/views/main/main.html index 6ea76a7..59a920c 100755 --- a/clientApp/GUI/views/main/main.html +++ b/clientApp/GUI/views/main/main.html @@ -32,7 +32,7 @@ Signed
Send to serverIDsigner
-
Verify
+ diff --git a/clientApp/clientAppRESTFunctions.go b/clientApp/clientAppRESTFunctions.go index 44208f2..5752dc7 100644 --- a/clientApp/clientAppRESTFunctions.go +++ b/clientApp/clientAppRESTFunctions.go @@ -58,13 +58,19 @@ func BlindAndSendToSign(w http.ResponseWriter, r *http.Request) { //read the keys stored in /keys directory keys := readKeys("keys.json") - var key ownrsa.RSA - //search for complete key - for _, k := range keys { - if k.PubK == packPubK { - key = ownrsa.UnpackKey(k) + /* + var key ownrsa.RSA + //search for complete key + for _, k := range keys { + if k.PubK == packPubK { + key = ownrsa.UnpackKey(k) + } } - } + */ + + //get the serverIDsigner pubK + serverPubK := getServerPubK("http://" + config.ServerIDSigner.IP + ":" + config.ServerIDSigner.Port) + //blind the key.PubK var m []int //convert packPubK to []bytes @@ -73,7 +79,7 @@ func BlindAndSendToSign(w http.ResponseWriter, r *http.Request) { m = append(m, int(byte)) } rVal := 101 - blinded := ownrsa.Blind(m, rVal, key.PubK, key.PrivK) + blinded := ownrsa.Blind(m, rVal, serverPubK) fmt.Println(blinded) //convert blinded to string @@ -101,9 +107,6 @@ func BlindAndSendToSign(w http.ResponseWriter, r *http.Request) { sigma := ownrsa.StringToArrayInt(askBlindSign.M, "_") fmt.Println(sigma) - //get the serverIDsigner pubK - serverPubK := getServerPubK("http://" + config.ServerIDSigner.IP + ":" + config.ServerIDSigner.Port) - //unblind the response mSigned := ownrsa.Unblind(sigma, rVal, serverPubK) fmt.Print("mSigned: ") diff --git a/clientApp/ownrsa/rsa.go b/clientApp/ownrsa/rsa.go index 1e18627..232ffcd 100644 --- a/clientApp/ownrsa/rsa.go +++ b/clientApp/ownrsa/rsa.go @@ -109,14 +109,14 @@ func DecryptInt(val int, privK RSAPrivateKey) int { return int(m.Int64()) } -func Blind(m []int, r int, pubK RSAPublicKey, privK RSAPrivateKey) []int { +func Blind(m []int, r int, pubK RSAPublicKey) []int { var mBlinded []int rBigInt := big.NewInt(int64(r)) for i := 0; i < len(m); i++ { mBigInt := big.NewInt(int64(m[i])) rE := new(big.Int).Exp(rBigInt, pubK.E, nil) mrE := new(big.Int).Mul(mBigInt, rE) - mrEmodN := new(big.Int).Mod(mrE, privK.N) + mrEmodN := new(big.Int).Mod(mrE, pubK.N) mBlinded = append(mBlinded, int(mrEmodN.Int64())) } return mBlinded diff --git a/peer/blockchain.data b/peer/blockchain.data index 935e448..5ea9699 100644 --- a/peer/blockchain.data +++ b/peer/blockchain.data @@ -1 +1 @@ -{"genesisblock":"YKWAWY6GM5xrLhYrfi6hAmPmsECUH83n7xVcgaguLF4=","lastupdate":"0001-01-01T00:00:00Z","blocks":[{"hash":"YKWAWY6GM5xrLhYrfi6hAmPmsECUH83n7xVcgaguLF4=","height":0,"date":"2017-11-29T10:42:55.112675187+01:00","previoushash":"","nexthash":"cSN48a9BwgJQZdz2NwBRPJqCtC4Qtv-l-RYeGl9eBZs=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"cSN48a9BwgJQZdz2NwBRPJqCtC4Qtv-l-RYeGl9eBZs=","height":1,"date":"2017-11-29T23:07:43.169204719+01:00","previoushash":"YKWAWY6GM5xrLhYrfi6hAmPmsECUH83n7xVcgaguLF4=","nexthash":"Ql0MH8WVaCOXzRWmR5xUyAQXaQ5Ovt6PoN3HrkHmYmk=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"Ql0MH8WVaCOXzRWmR5xUyAQXaQ5Ovt6PoN3HrkHmYmk=","height":2,"date":"2017-12-26T14:38:41.446523607+01:00","previoushash":"cSN48a9BwgJQZdz2NwBRPJqCtC4Qtv-l-RYeGl9eBZs=","nexthash":"64bzp4j5jJjCcvKYcsytJOKD5dFyMHUjtNY1S5TD8Sk=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"64bzp4j5jJjCcvKYcsytJOKD5dFyMHUjtNY1S5TD8Sk=","height":3,"date":"2017-12-26T18:05:05.541862456+01:00","previoushash":"Ql0MH8WVaCOXzRWmR5xUyAQXaQ5Ovt6PoN3HrkHmYmk=","nexthash":"N-w5F0pRA0kpZx7JDS3RPBedUSq1Kyk13Pc1guhY7Ws=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"N-w5F0pRA0kpZx7JDS3RPBedUSq1Kyk13Pc1guhY7Ws=","height":4,"date":"2017-12-26T18:06:13.953399725+01:00","previoushash":"64bzp4j5jJjCcvKYcsytJOKD5dFyMHUjtNY1S5TD8Sk=","nexthash":"45Otq5P8WR97T4SxvaFk_0icNdUcIzO-mTjn6wrxJd4=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"45Otq5P8WR97T4SxvaFk_0icNdUcIzO-mTjn6wrxJd4=","height":5,"date":"2017-12-26T18:06:57.93092362+01:00","previoushash":"N-w5F0pRA0kpZx7JDS3RPBedUSq1Kyk13Pc1guhY7Ws=","nexthash":"xnXIWKAsIHTOwzWDJe-5daa_5bOSPTLbsG5Ft49g3XA=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"xnXIWKAsIHTOwzWDJe-5daa_5bOSPTLbsG5Ft49g3XA=","height":6,"date":"2017-12-26T20:11:10.182353841+01:00","previoushash":"45Otq5P8WR97T4SxvaFk_0icNdUcIzO-mTjn6wrxJd4=","nexthash":"U-Yz_cpPe6Cm4U9zMunLWH2s5hvUFLHJn7_u_3680Cs=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"U-Yz_cpPe6Cm4U9zMunLWH2s5hvUFLHJn7_u_3680Cs=","height":7,"date":"2017-12-26T21:08:30.923107227+01:00","previoushash":"xnXIWKAsIHTOwzWDJe-5daa_5bOSPTLbsG5Ft49g3XA=","nexthash":"zlsDiXG2raTI2tear0LtIQV72BtHTXLzQGV623_CUDc=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"zlsDiXG2raTI2tear0LtIQV72BtHTXLzQGV623_CUDc=","height":8,"date":"2017-12-26T21:08:45.373348196+01:00","previoushash":"U-Yz_cpPe6Cm4U9zMunLWH2s5hvUFLHJn7_u_3680Cs=","nexthash":"MordV-LXcl8AfW5gVq1wHxLHr3EZn7KhWcRJDEamVbA=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"MordV-LXcl8AfW5gVq1wHxLHr3EZn7KhWcRJDEamVbA=","height":9,"date":"2017-12-26T21:08:59.694290728+01:00","previoushash":"zlsDiXG2raTI2tear0LtIQV72BtHTXLzQGV623_CUDc=","nexthash":"gRhKt8ZRKbDFLr-rSEnipo3QI3loQwTjkNoK0G96Z-w=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"gRhKt8ZRKbDFLr-rSEnipo3QI3loQwTjkNoK0G96Z-w=","height":10,"date":"2017-12-26T21:12:18.832944058+01:00","previoushash":"MordV-LXcl8AfW5gVq1wHxLHr3EZn7KhWcRJDEamVbA=","nexthash":"NQMu54PaN9Ph9Qh2VJb9q6hHbENPYfS62YVkjTs0F1k=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"NQMu54PaN9Ph9Qh2VJb9q6hHbENPYfS62YVkjTs0F1k=","height":11,"date":"2017-12-26T21:12:40.460894962+01:00","previoushash":"gRhKt8ZRKbDFLr-rSEnipo3QI3loQwTjkNoK0G96Z-w=","nexthash":"","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="}]} \ No newline at end of file +{"genesisblock":"YKWAWY6GM5xrLhYrfi6hAmPmsECUH83n7xVcgaguLF4=","lastupdate":"0001-01-01T00:00:00Z","blocks":[{"hash":"YKWAWY6GM5xrLhYrfi6hAmPmsECUH83n7xVcgaguLF4=","height":0,"date":"2017-11-29T10:42:55.112675187+01:00","previoushash":"","nexthash":"cSN48a9BwgJQZdz2NwBRPJqCtC4Qtv-l-RYeGl9eBZs=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"cSN48a9BwgJQZdz2NwBRPJqCtC4Qtv-l-RYeGl9eBZs=","height":1,"date":"2017-11-29T23:07:43.169204719+01:00","previoushash":"YKWAWY6GM5xrLhYrfi6hAmPmsECUH83n7xVcgaguLF4=","nexthash":"Ql0MH8WVaCOXzRWmR5xUyAQXaQ5Ovt6PoN3HrkHmYmk=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"Ql0MH8WVaCOXzRWmR5xUyAQXaQ5Ovt6PoN3HrkHmYmk=","height":2,"date":"2017-12-26T14:38:41.446523607+01:00","previoushash":"cSN48a9BwgJQZdz2NwBRPJqCtC4Qtv-l-RYeGl9eBZs=","nexthash":"64bzp4j5jJjCcvKYcsytJOKD5dFyMHUjtNY1S5TD8Sk=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"64bzp4j5jJjCcvKYcsytJOKD5dFyMHUjtNY1S5TD8Sk=","height":3,"date":"2017-12-26T18:05:05.541862456+01:00","previoushash":"Ql0MH8WVaCOXzRWmR5xUyAQXaQ5Ovt6PoN3HrkHmYmk=","nexthash":"N-w5F0pRA0kpZx7JDS3RPBedUSq1Kyk13Pc1guhY7Ws=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"N-w5F0pRA0kpZx7JDS3RPBedUSq1Kyk13Pc1guhY7Ws=","height":4,"date":"2017-12-26T18:06:13.953399725+01:00","previoushash":"64bzp4j5jJjCcvKYcsytJOKD5dFyMHUjtNY1S5TD8Sk=","nexthash":"45Otq5P8WR97T4SxvaFk_0icNdUcIzO-mTjn6wrxJd4=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"45Otq5P8WR97T4SxvaFk_0icNdUcIzO-mTjn6wrxJd4=","height":5,"date":"2017-12-26T18:06:57.93092362+01:00","previoushash":"N-w5F0pRA0kpZx7JDS3RPBedUSq1Kyk13Pc1guhY7Ws=","nexthash":"xnXIWKAsIHTOwzWDJe-5daa_5bOSPTLbsG5Ft49g3XA=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"xnXIWKAsIHTOwzWDJe-5daa_5bOSPTLbsG5Ft49g3XA=","height":6,"date":"2017-12-26T20:11:10.182353841+01:00","previoushash":"45Otq5P8WR97T4SxvaFk_0icNdUcIzO-mTjn6wrxJd4=","nexthash":"U-Yz_cpPe6Cm4U9zMunLWH2s5hvUFLHJn7_u_3680Cs=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"U-Yz_cpPe6Cm4U9zMunLWH2s5hvUFLHJn7_u_3680Cs=","height":7,"date":"2017-12-26T21:08:30.923107227+01:00","previoushash":"xnXIWKAsIHTOwzWDJe-5daa_5bOSPTLbsG5Ft49g3XA=","nexthash":"zlsDiXG2raTI2tear0LtIQV72BtHTXLzQGV623_CUDc=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"zlsDiXG2raTI2tear0LtIQV72BtHTXLzQGV623_CUDc=","height":8,"date":"2017-12-26T21:08:45.373348196+01:00","previoushash":"U-Yz_cpPe6Cm4U9zMunLWH2s5hvUFLHJn7_u_3680Cs=","nexthash":"MordV-LXcl8AfW5gVq1wHxLHr3EZn7KhWcRJDEamVbA=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"MordV-LXcl8AfW5gVq1wHxLHr3EZn7KhWcRJDEamVbA=","height":9,"date":"2017-12-26T21:08:59.694290728+01:00","previoushash":"zlsDiXG2raTI2tear0LtIQV72BtHTXLzQGV623_CUDc=","nexthash":"gRhKt8ZRKbDFLr-rSEnipo3QI3loQwTjkNoK0G96Z-w=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"gRhKt8ZRKbDFLr-rSEnipo3QI3loQwTjkNoK0G96Z-w=","height":10,"date":"2017-12-26T21:12:18.832944058+01:00","previoushash":"MordV-LXcl8AfW5gVq1wHxLHr3EZn7KhWcRJDEamVbA=","nexthash":"NQMu54PaN9Ph9Qh2VJb9q6hHbENPYfS62YVkjTs0F1k=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"NQMu54PaN9Ph9Qh2VJb9q6hHbENPYfS62YVkjTs0F1k=","height":11,"date":"2017-12-26T21:12:40.460894962+01:00","previoushash":"gRhKt8ZRKbDFLr-rSEnipo3QI3loQwTjkNoK0G96Z-w=","nexthash":"FFf5hrCRoDeGgEdUjD6nR-eHHp_FQ5NINNOl68tp7JY=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"FFf5hrCRoDeGgEdUjD6nR-eHHp_FQ5NINNOl68tp7JY=","height":12,"date":"2017-12-30T08:05:37.206926858+01:00","previoushash":"NQMu54PaN9Ph9Qh2VJb9q6hHbENPYfS62YVkjTs0F1k=","nexthash":"DGL6W8cqiXyzUvHQ4GNF4I4cP5tLmWqFF4JW6A0LMu8=","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="},{"hash":"DGL6W8cqiXyzUvHQ4GNF4I4cP5tLmWqFF4JW6A0LMu8=","height":13,"date":"2017-12-30T08:06:05.279133742+01:00","previoushash":"FFf5hrCRoDeGgEdUjD6nR-eHHp_FQ5NINNOl68tp7JY=","nexthash":"","data":[{"address":"firstaddress"}],"emitter":"VOnL-15rFsUiCnRoyGFksKvWKcwNBRz5iarRem0Ilvo="}]} \ No newline at end of file