Amazing video, easy to try and understand even for 1-day Python programmers with their own data.
@SATSifaction3 жыл бұрын
Thanks you
@satanumaity407 ай бұрын
A perfect start for this domain
@aligulaj3 жыл бұрын
This is interesting and will definitely delve into this
@danbolser5913 Жыл бұрын
Thanks for this vid, good to see a 'real' example. The nice thing about a linear model is that you can get a result with multiplication alone, does the same apply for categorical regression?
@farnazkhorsand12252 жыл бұрын
It would be great if you could do an example with functional encryption as well.
@SATSifaction2 жыл бұрын
What do you mean?
@danbolser5913 Жыл бұрын
@@SATSifaction I think FE hides the function being applied to the data... I think...
@hetpatel9369 Жыл бұрын
Hey, this is my compute data function and the error is: 'EncryptedNumber' object is not subscriptable. def computeData(): pk = data['public_key'] pubkey = paillier.PaillierPublicKey(n=int(pk['n'])) for x in data['values']: enc_nums_rec = paillier.EncryptedNumber(pubkey, int(x[0], int(x[1]))) # extracting public key from the data for i in range(len(list(mycoef))): results = sum(mycoef[i]*enc_nums_rec[i]) return results, pubkey If someone can help then it will be appreciated.
@murtadha.j Жыл бұрын
Have you applied pyfhel library anywhere?
@macknightxu2199 Жыл бұрын
Hi, is there any other video about this topic? especially the practical type. Do you know which company used such a process in this video?
@basilyancho45743 жыл бұрын
Great work sir, please is there a possibility for me to have the codes and the dataset so i can try to implement it on my laptop? thanks while waiting
@kumarmv57053 жыл бұрын
nice video sir... I tried executing the code in my laptop.... model creation and coefficients are also generated.. in cust.py code both public and private keys are generated, cust.json file is created. But "data.json" file when i opened it is blank... but in this video you are showing the encrypted form of data, but i getting it empty... I am getting error as "TypeError: Object of type function is not JSON serializable". please help me out in this regard, sir...
@jibueapen460 Жыл бұрын
Hi will this work for BERT based models?
@mr.geniussam1670 Жыл бұрын
Git Missing :/
@joannayuan68693 жыл бұрын
Can you use encrypted data from party A to train a ML model such that the ML model can be used for inferencing for party B?
@SATSifaction3 жыл бұрын
If Party A and B have a similar data set and use case sure. For example if you wanted to use encrypted data from 10 organizations to predict turnover for an 11th company, it can be done as long as the features are similar. If not then your data for your prediction model don’t align to your trained data in which case it’s not recommended
@manish.yad18023 жыл бұрын
You are building model on original data and then encrypting the model. Is it possible to build model on encrypted data?
@SATSifaction3 жыл бұрын
great question. im not sure its possible just yet to my understanding but maybe one day. First, I would question the practicality of it because when you build ML models you need to have a basic understanding of your data. If its in cypher text you may not even know what you're working with tbh so you're result will be compromised. . Second, if we look at it theoretically there are a lot of complexities especially if you're dealing with a classification model. In either scenerio your feature set needs to be in cypher text which all need to be converted into some form of numerical representation for any ML model to work. Given this encryption is one way, getting any meaningful representation would be difficult and probably require excess compute power to try to decrypt it to a format that may make sense to an ML model tho you would still have higher loss in my opinion than if it wasn't encrypted. Unless you have a lot of infrastructure resources, it may be too premature to delve in this space.
@theneuralmancer3 жыл бұрын
Yes, it is! Re: data distribution, yes, that is a potential problem but it kind of depends on the problem.
@shalandichannel2 жыл бұрын
if the user sends the same payload all over again, will the encrypted version of it "rotate" or will it always look the same? in the second case one could easily guess the age being sent using statistical analysis. If the second is true, is that also an issue in Full HME? If the second is true, would it be "enough" for the user to create another key pair and start encrypting the data using the new pair, so it looks different ? I also assume that the server cannot use the client's public key to encrypt the data right? otherwise also a brute force approach would do the job, when trying to guess the distribution of the data that's coming in
@shalandichannel2 жыл бұрын
btw good video, i am just new to the matter thats why so many questions. BTW the py-seal project looks archived on github
@danbolser5913 Жыл бұрын
Most libraries should 'salt' the encrypted value, so that same clearText in != same cipherText
@joannayuan68693 жыл бұрын
Still having trouble to wrap my head around this. If my ML model takes in IOT readings (i.e. vibration data), and use it for anomaly detection. If I send the encrypted data to the ML model, pretty sure it'll break the ML model since the input data is for sure significantly different from the training data. In this case, does that mean the ML model would have to use encrypted data to do the training?
@sofuno8633 жыл бұрын
same thoughts
@DamanArora12092 жыл бұрын
No. I think somewhere you misunderstood what is happening. The weights of the model are changed in accordance with the public key which is sent with the data. Pls watch the video again carefully ☺️
@udayhanmante24022 жыл бұрын
@@DamanArora1209 What I can see is we are not changing the model coefficients while multiplying them with encrypted data
@danbolser5913 Жыл бұрын
@@udayhanmante2402 That's how this type of PARTIAL homomorphic encryption works, remember D ( E(A) * scalar ) = A * scalar
@dhivinjoshua47142 жыл бұрын
Is it possible to train the model on encrypted data?
@SATSifaction2 жыл бұрын
Yes that’s what this video displays albeit on limited data and only regression. Full HME is still being worked on and will have more application in future
@nawelyala74312 жыл бұрын
@@SATSifaction Hello. The video shows that the regression model is trained on unencripted data. myCoef = LinMdel.getCoef() use normal data. Thanks