Download - Other interesting issues:
![Page 1: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/1.jpg)
CS 245 Notes 3 1
Other interesting issues:
• Compression– within record - e.g. code selection– collection of records - e.g. find
common patterns
• Encryption
![Page 2: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/2.jpg)
CS 245 Notes 3 2
Encrypting Records
trustedprocessor
newrecord
rdbms
E(r)
E(r1)E(r2)E(r3)E(r4)...
![Page 3: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/3.jpg)
CS 245 Notes 3 3
Encrypting Records
trustedprocessor
searchF(r)=x
dbms??
E(r1)E(r2)E(r3)E(r4)...
![Page 4: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/4.jpg)
CS 245 Notes 3 4
Search Key in the Clear
trustedprocessor
searchk=2
dbmsQ: k=2
[1, E(b1)][2, E(b2)][3, E(b3)][4, E(b4)]
...• each record is [k,b]• store [k, E(b)]• can search for records with k=x
A: [2, E(b2)]
![Page 5: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/5.jpg)
CS 245 Notes 3 5
Encrypt Key
trustedprocessor
searchk=2
dbmsQ: k’=E(2)
[E(1), E(b1)][E(2), E(b2)][E(3), E(b3)][E(4), E(b4)]
...• each record is [k,b]• store [E(k), E(b)]• can search for records with k=E(x)
A: [E(2), E(b2)]
![Page 6: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/6.jpg)
CS 245 Notes 3 6
Issues
• Hard to do range queries• Encryption not good• Better to use encryption that does not
always generate same cyphertext
E
k
DE(k, random) k
simplification
![Page 7: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/7.jpg)
CS 245 Notes 3 7
How Do We Search Now?
trustedprocessor
searchk=2
dbmsQ: k’=E(2)
[E(1, abc), E(b1)][E(2, dhe), E(b2)][E(3, nft), E(b3)][E(2, lkz), E(b4)]
...• each record is [k,b]• store [E(k, rand), E(b)]• can search for records with k=E(x,???)?
A: [E(2,dhe), E(b2)] [E(2, lkz), E(b4)]
???
![Page 8: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/8.jpg)
CS 245 Notes 3 8
Solution?• Develop new decryption function:
D(f(k1), E(k2, rand)) is true if k1=k2
![Page 9: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/9.jpg)
CS 245 Notes 3 9
Solution?• Develop new decryption function:
D(f(k1), E(k2, rand)) is true if k1=k2
trustedprocessor
searchk=2
dbms
Q: check if D(f(2),*) true
[E(1, abc), E(b1)][E(2, dhe), E(b2)][E(3, nft), E(b3)][E(2, lkz), E(b4)]
...
A: [E(2,dhe), E(b2)] [E(2, lkz), E(b4)]
![Page 10: Other interesting issues:](https://reader036.vdocuments.us/reader036/viewer/2022082818/5681361e550346895d9d9312/html5/thumbnails/10.jpg)
CS 245 Notes 3 10
Issues?
• Cannot do non-equality predicates• Hard to build indexes