diff --git a/ZKP.md b/ZKP.md
deleted file mode 100644
index 3c54ba6..0000000
--- a/ZKP.md
+++ /dev/null
@@ -1,416 +0,0 @@
-
-
-
-
-
-
-```python
-from nacl.public import Box, PrivateKey, PublicKey
-from nacl.signing import SigningKey, SignedMessage
-
-from nacl.encoding import HexEncoder
-from ecdsa import ellipticcurve, curves, util, numbertheory
-import ecdsa as pyecdsa
-import hashlib
-import binascii
-from binascii import unhexlify
-import ecdsa as pyecdsa
-from ecdsa.ellipticcurve import INFINITY
-
-#SECP256k1 = pyecdsa.curves.find_curve((1, 3, 132, 0, 10))
-SECP256k1 = pyecdsa.curves.find_curve((1, 3, 132, 0, 10))
-```
-
-
-```python
-
-
-class Point(ellipticcurve.Point):
- def __init__(self, *args, **kwargs):
- kwargs.setdefault('order', SECP256k1.order)
- super(Point, self).__init__(SECP256k1.curve, *args, **kwargs)
-
- def __neg__(self):
- return Point( self.x(), -self.y())
-
- def __sub__(self, Q):
- a=self + -Q
- return Point(a.x(),a.y())
-
-
-```
-
-
-```python
-priv_key= PrivateKey.generate()
-signing_key=pyecdsa.SigningKey.generate( curve=SECP256k1)
-
-```
-
-
-```python
-#range for statistical zero-knowledge property.
-R=2**256 * 2**256 * 2**80
-B=16# 2**256
-K =16# 2**256
-```
-
-
-```python
-def long_to_bytes (val, endianness='big'):
-
- # one (1) hex digit per four (4) bits
- width = val.bit_length()
-
- # unhexlify wants an even multiple of eight (8) bits, but we don't
- # want more digits than we need (hence the ternary-ish 'or')
- width += 8 - ((width % 8) or 8)
-
- # format width specifier: four (4) bits per hex digit
- fmt = '%%0%dx' % (width // 4)
-
- # prepend zero (0) to the width, to zero-pad the output
- s = unhexlify(fmt % val)
-
- if endianness == 'little':
- # see http://stackoverflow.com/a/931095/309233
- s = s[::-1]
-
- return s
-
-```
-
-
-```python
-class Client(object):
- def __init__(O,key=None):
- if not key:
- O.k = signing_key=pyecdsa.SigningKey.generate( curve=SECP256k1)
- else :
- O.k = key
- def file_process(O,path="./slice.1_8.fec"):
- f="A"*32#open(path).read()
- D=util.string_to_number(f)
- b=util.string_to_number(O.k.to_string())
-
- s=D%b
- n=D//b
-
- D_1=(n * b) + s
- r = long_to_bytes(rr)
-
- print hashlib.sha1(f).hexdigest()
- print hashlib.sha1(r).hexdigest()
-
-
- b_id = SECP256k1.generator * n
- ro1= SECP256k1.generator * n
- ro2 = SECP256k1.generator * s
- #private, public
- return ((n,b,s), (b_id, ro1,ro2))
-
- def generate_challenge1(O):
- return util.randrange(R)
-
-
-
-```
-
-
-```python
-class server(object):
- def __init__(O, b_id, ro1,ro2):
- O.ro1=ro1
- O.ro2=ro1
- O.file_pub=b_id
-
- def commitment(O, challenge):
- f="A"*32#open("./slice.1_8.fec").read()
- a=util.string_to_number(f)
-
- O.b=challenge
- O.z=a%b
- O.m=a//b
- O.r = util.randrange(B**2)
- O.t = util.randrange(B**2)
- O.x1 = SECP256k1.generator * r
- O.x2 = SECP256k1.generator * t
-
- return ((O.x1,O.x2),(O.m,O.z,O.r,O.t))
-
-```
-
-
-```python
-c=Client()
-#s=server()
-#priv_c,pub_c=c.file_process()
-
-```
-
-
-```python
-def preprocessing():
- f=open("./slice.1_8.fec").read()
- D=util.string_to_number(f)
- b=util.string_to_number(signing_key.to_string())
-
- s=D%b
- n=D//b
-
- D_1=(n * b) + s
- #r = long_to_bytes(rr)
-
- print hashlib.sha1(f).hexdigest()
- #print hashlib.sha1(r).hexdigest()
-
-
- b_id = SECP256k1.generator * n
- ro1= SECP256k1.generator * n
- ro2 = SECP256k1.generator * s
-
- return ((n,b,s), (b_id, ro1,ro2))
-
-
-def generate_challenge(n,b,s):
-
- b_id = SECP256k1.generator * n
- ro1= SECP256k1.generator * n
- ro2 = SECP256k1.generator * s
-
- return (b_id, ro1,ro2)
-
-
-client_secret_priv, public_element = preprocessing()
-
-
-
-
-```
-
- 73ea3b5e061b6cabed623d1f0f8ba0e2dd7a8ef4
-
-
-
-
-
-```python
-import ecdsa as pyecdsa
-
-SECP256k1 = pyecdsa.curves.find_curve((1, 3, 132, 0, 10))
-SECP256k1 = pyecdsa.curves.find_curve((1, 3, 132, 0, 10))
-
-def generate_priv_challenge():
- f=open("./slice.1_8.fec").read()
- blockid= hashlib.sha256(signing_key.sign(f)).hexdigest()
- a=util.string_to_number(f)
- b=util.string_to_number(signing_key.to_string())#encode())
- s=a%b
- n=a//b
- ro1= SECP256k1.generator * n
- ro2 = SECP256k1.generator * s
-
- return (blockid, ro1,ro2,n,s)
-
-```
-
-
-```python
-block_id,ro1,ro2,n,s = generate_priv_challenge()
-```
-
-
-
-
-```python
-def remote_commitment(chall):
- f=open("./slice.1_8.fec").read()
- a=util.string_to_number(f)
- b=chall
- z=a%b
- m=a//b
- print z
- r = util.randrange(B*B)
- t = util.randrange(B*B)
- #w= r^z
- #print w
- x1 = r * SECP256k1.generator
- x2 = t * SECP256k1.generator
-
- return ((x1,x2),(m,z,r,t))
-
-
-```
-
-
-```python
-chall = util.randrange(R)
-
-(commit,ch_resp)=commitment(chall)
-
-```
-
-
-```python
-chall2 = util.randrange(K)
-```
-
-
-```python
-def remote_resp(c, resp):
- m=resp[0]
- z=resp[1]
- r=resp[2]
- t=resp[3]
-
- y1= r+(c*z)
- y2= t+(c*m)
-
- return y1,y2
-```
-
-
-```python
-y1,y2 = host_resp(chall2, ch_resp)
-```
-
-
-```python
-chall = util.randrange(R)
-chall2 = util.randrange(K)
-
-P = SECP256k1.generator
-
-
-(commit,ch_resp)=remote_commitment(chall)
-y1,y2 = remote_resp(chall2, ch_resp)
-x1=commit[0]
-x2=commit[1]
-
-b_ = chall
-c = chall2
-
-z = ch_resp[1]
-m = ch_resp[0]
-```
-
- 383769705759922238814820635125091393536751781330499963960027267106043604344928356482304970868177244815080981113707959740583852333897030317262689421782904643950974779849213407220
-
-
-
-
-
-```python
-as1_1= ( y1 * P ) + (-Point(x1.x(),x1.y()))#y1.P-x1
-as1_2= ( c * z ) * P #cz.P
-print "assert I", as1_1==as1_2
-print as1_1.x()
-print as1_2.x()
-as2_1=( y2 * P ) + ( -Point(x2.x(),x2.y()) )
-as2_2= (b_* m ) * P
-print "assert II", as2_1==as2_2
-print as2_1.x()
-print as2_2.x()
-```
-
- assert I True
- 5876730895232555975670752555686052848272136747449052900777052125475456965293
- 5876730895232555975670752555686052848272136747449052900777052125475456965293
- assert II False
- 95958819438731652205001323648120835610712117261911186719618043262918945418931
- 55940851260522358385586042305550878175039129341223631825528624425777497241555
-
-
-
-```python
-as2_1=(y2 * P) + (-Point(x2.x(),x2.y()))
-as2_2= (b_*m) * P
-print as2_1.x()
-print as2_2.x()
-
-```
-
- 91728786092928355630891141238137171644308836139219436085412195700189316134122
- 107279711877694500410709767952754959809170673439664368886384200698769658470714
-
-
-
-
-
-
-```python
-SK=b=util.string_to_number(signing_key.to_string())
-chall*SK * ro1 - chall2 * (y2 * SECP256k1.generator + - Point(commit[0].x(),commit[0].y())
-```
-
-
-
-
-
-
-
-
-
-```python
-%qtconsole
-```
-
-
-```python
-x1=commit[0]
-Y1=y1*SECP256k1.generator
-Y1=Point(Y1.x(),Y1.y())
-RO1=chall2*Point(ro1.x(),ro1.y())
-X1=Point(x1.x(),x1.y())
-RO1=Point(RO1.x(),RO1.y())
-
-assertion1 = Y1-X1-RO1
-```
-
-
-```python
-ro1.y()
-```
-
-
-```python
-sk=util.string_to_number(signing_key.to_string())
-
-curv=SECP256k1.curve
-
-#chall2*sk*ro2 - b*(y2.Gen-x2)
-tb1=chall2*sk*ro2
-
-x2=commit[1]
-#x2=Point(x2.x(),x2.y())
-Y2=SECP256k1.generator * y2
-Y2=Point(Y2.x(),Y2.y())
-X2=Point(x2.x(),x2.y())
-XY2=Y2-X2
-XY2 = - chall * XY2
-
-assertion2 = tb1 + XY2
-#Y3=Point(Y2.x(),Y2.y())
-
-#chall*(Y2-x2)
-#tb2 = chall*((SECP256k1.generator * y2) + invx2)
-#Z2=Point(tb2.x(),-tb2.y())
-
-#assertion2=tb1+Z2
-
-
-#chall
-```
-
-
-```python
-print assertion1==assertion2
-print assertion1.x()
-print assertion2.x()
-#Point(t1.x(),- t1.y())-Point(t1.x(),t1.y())
-```
-
- False
- 7736584874372799755670583036719701680498164259870020736174578513076009517175
- 26299729680235291815366724209282966839464132792531995892755583725140232542577
-