求一个加解密思路

dceacho 2018-04-09 06:17:52
有一定的存储空间,比如1G或者1T,反正家庭用户能承受的起, 里面有一定的数据,比如说1T的数据,叫它DS好了

现在有一定数量的用户,比如说10个用户

分配给这10个用户随机的32字节密钥,注意是密钥是随机

各用户用自己的密钥通过一套算法可以从共有的(前面提到的DS)数据堆中提取出属于自己的数据, 注意数据堆是共有

目的就是在不采用账号密码的模式下给用户一定的私有空间

如何实现?

哪位大神能有个好点的思路
...全文
671 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
摇曳的精灵 2019-05-03
  • 打赏
  • 举报
回复
应该要逻辑分块实现比较好,每个账号对应自己的逻辑块,加一张数据访问文件就可以解决
636f6c696e 2018-09-13
  • 打赏
  • 举报
回复
这样搞效率太低了,用户数一上去,得花多少时间去计算位置?不如自己搞映射表

引用 3 楼 wangfan027 的回复:
谢谢两位了
我自己想到了解决方法了,
就是假设有1G数据,用户有1~n个,不确定用户数量,
这1G数据可能有用户1的数据也可能没有, 有用户2的数据也可能没有,有用户3的数据也可能没有,。。。。有用户n的数据也可能没有
为防止有针对性的破解,用户数据块在这1G数据里的位置不固定

现在这样解决的,每一个用户给一个私钥,用户自己用私钥在这1G数据里一块一块的解密,如果解到某一块里出现了自己的ID,则说明这个块是自己的。
要制作时就用公钥加密把包含用户ID的明文加密放进这1G数据里就行了

感觉像现有的数据库解决方案
dceacho 2018-09-08
  • 打赏
  • 举报
回复
引用 2 楼 zyl072 的回复:
没太明白问题的点在哪里? 即使是共有的数据堆,依然可以做一些逻辑分块,把属于不同用户的数据块用不同的密钥加密不就好了吗? 这样用户只能解密出自己的数据块


引用 1 楼 tanta 的回复:
不是很明白你的意思。
在堆里给每个用户分一部分空间,空间内的数据用秘钥加密下不就可以吗?类似你自己设计一个FAT表?

谢谢两位了
我自己想到了解决方法了,
就是假设有1G数据,用户有1~n个,不确定用户数量,
这1G数据可能有用户1的数据也可能没有, 有用户2的数据也可能没有,有用户3的数据也可能没有,。。。。有用户n的数据也可能没有
为防止有针对性的破解,用户数据块在这1G数据里的位置不固定

现在这样解决的,每一个用户给一个私钥,用户自己用私钥在这1G数据里一块一块的解密,如果解到某一块里出现了自己的ID,则说明这个块是自己的。
要制作时就用公钥加密把包含用户ID的明文加密放进这1G数据里就行了

感觉像现有的数据库解决方案
zyl072 2018-09-08
  • 打赏
  • 举报
回复
没太明白问题的点在哪里? 即使是共有的数据堆,依然可以做一些逻辑分块,把属于不同用户的数据块用不同的密钥加密不就好了吗? 这样用户只能解密出自己的数据块
tanta 2018-09-08
  • 打赏
  • 举报
回复
不是很明白你的意思。
在堆里给每个用户分一部分空间,空间内的数据用秘钥加密下不就可以吗?类似你自己设计一个FAT表?

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧